Fråga:
Lägg till komponentnyckel till OS X
MikeyB
2011-11-17 06:08:58 UTC
view on stackexchange narkive permalink

Jag vill ändra en av mina tangenter på tangentbordet till en Skriv-tangent så att jag enkelt kan skriva vanliga accenter eller tecken, t.ex.: Skriv + e + ' -> é.

Finns det en inställning jag kan ändra eller ett program som jag kan installera för att lägga till den här funktionen? Till exempel vill jag använda Caps Lock som Komponera .

Om du använder OS X Lion, håller du ner en bokstavsknapp som standard en lista över vanliga, accenterade tecken som du kan välja med hjälp av siffertangenterna.
Endast i vissa applikationer. Och bara de som Apple har valt åt dig som tenderar att vara ofullständiga.
Den här frågan (och svaret) är också relaterad: http: //superuser.com/questions/202695/real-compose-key-on-mac-os
FWIW, Apples förhandsgodkända lista över vilka accentuerade tecken du kan välja mellan [kan hackas] (http://apple.stackexchange.com/questions/49565/how-can-i-expand-the-number-of-special -karaktärer-jag-kan-typ-med-mitt-tangentbord).
https://en.wikipedia.org/wiki/Wikipedia:How_to_make_dashes
http://superuser.com/questions/538964/where-can-i-find-a-keyboard-viewer-for-mac-os-x och tryck på vänster Alt-tangent på den
Fem svar:
sam hocevar
2012-06-22 00:06:20 UTC
view on stackexchange narkive permalink

Jag skrev en fullständig artikel för att förklara hur man ställer in en riktig skrivnyckel ( dvs. Rätt alternativ + ' kbd> + e é till exempel), med en kombination av KeyRemap4MacBook och specifika kakaoinmatningsregler.

Steg 1: välj en komponentnyckel

Välj tangenten Skriv så att den är lättillgänglig men inte hindrar dig från att göra någonting du vanligtvis gör. Jag använder tangenten Rätt alternativ som min Skriv-nyckel. Jag har redan en Left Option -tangent så den rätta är lite värdelös för mig. Och det matchar på något sätt positionen för Skriv -tangenten på gamla Sun-tangentbord.

Det skulle vara Rätt alternativ på ett Mac-tangentbord. Jag rekommenderar det.

Steg 2: mappa om Compose-tangenten

Problemet är att Mac OS X-tangentbordsinställningarna:

  • inte låter dig skilja mellan Vänsteralternativ och Högeralternativ tangenter
  • låter dig bara ändra modifieringsnycklar till en annan modifieringsnyckel (eller till ingenting)

Lyckligtvis finns det KeyRemap4MacBook som låter dig göra saker på mycket låg nivå med ditt tangentbord. Installera det.

Vi kommer nu att mappa vår skrivnyckel till något som nästa lager förstår. Jag valde Skift Kontroll F13 för det. Det är mycket osannolikt att du behöver den tangentkombinationen.

I filen ~ / Library / Application Support / KeyRemap4MacBook / private.xml lägger du till följande:

  < xml version = "1.0" ><root> <item> <name>Send Shift-Ctrl-F13 för Right Option< / name> <identifier>private.send_shift_ctrl_f13_for_ropt< / identifier> <autogen> -? KeyToKey-- KeyCode :: OPTION_R, KeyCode :: F13, ModifierFlag :: SKIFT_L | ModifierFlag :: CONTROL_L
< / autogen> < / item>< / root>  

Slutligen, från Systeminställningar , öppna KeyRemap4MacBook inställningar och klicka på > Knappen ReloadXML . Aktivera sedan det nya alternativet.

Steg 3: skapa komponeringsbindningar

Det sista steget är skapandet av de faktiska bindningarna. Jag valde att importera reglerna från /usr/share/X11/locale/en_US.UTF-8/Compose på mitt Debian-system.

Bob Kåres skrev ett manus som låter dig konvertera X11-komponeringsregler till nyckelbindningar för kakao.

Antingen konvertera en Skriv -fil med din egen med Bobs skript, eller ladda ner min DefaultKeyBinding. diktera från artikeln. Spara det i ~/Library/KeyBindings/DefaultKeyBinding.dict.

Var försiktig: Bobs manus använder som standard F13 istället för Shift Ctrl F13 så i DefaultKeyBinding.dict måste du ändra:

  "\ UF710" 

into:

"^$\UF710"

Om du av någon anledning bestämde dig för en annan kombination, kolla in den här artikeln av Xah Lee för att ta reda på rätt syntax.

Innehållet i länken ser ut som en bra lösning på detta problem, men svar på Ask Different behöver vara mer än bara en länk. Det är okej att inkludera en länk, men sammanfatta eller ta ut den i svaret. Tanken är att göra svaret fristående.
@DanielLawson säker, det är vettigt; Jag uppdaterar mitt svar.
Där kopierade jag större delen av artikeln. Jag kan göra det eftersom jag äger det :-)
Verkligen fantastiskt svar; +50 internet. (Seriöst, jag ger den här en summa så fort systemet låter mig)
Glad att du länkade länken, för den är nu död! (Du kanske vill uppdatera den om den flyttas.)
@WChargin det var ett serverkonfigurationsproblem, tack för att du påpekade den trasiga länken! Det fungerar igen.
Jag har lagt till min anpassade .XCompose-fil som jag använder på Linux för att skapa emoji-tecken till standard-komponentfilen och köra den genom Bobs skript.Jag var tvungen att kommentera "använd strikt" för att få det att fungera, men resultatet ser okej ut.Men när du skriver sekvensen som jag har ställt in för att till exempel "\ U1F61E" "besviken ansikte" kommer den ut som "ὡE".Raden i fråga är: "" \ U0028 "= (" insertText: "," \ U1F61E ");/ * Komponera, KOLON, VÄNSTER FÖRÄLDRAR: BESVIKAD FACE * / `- någon aning om vad som är fel?
@tremby detta beror på att '\ U1F61' följt av 'E' tolkas som 'ὡ' följt av 'E'.Försök kanske att ersätta "" \ U1F61E "med en sträng som innehåller själva tecknet:" "".I annat fall måste du använda UTF-16-sekvensen, * dvs * "" \ UD83D \ UDE1E "" (UTF-16-representationen kan beräknas eller hittas [på flera webbplatser som fileformat.info] (http: //www.fileformat.info/info/unicode/char/1f61e/index.htm)).
Att byta till karaktären fungerar;tack.Jag undrar varför det (vad: OS X? Karabiner?) Känner inte igen längre kodpunkter.
@tremby It's by design i OS X;filformatet använder UTF-16.
Ah, då kanske Bobs manus måste fixas för att skriva ut UTF-16?Min inmatning till den (min .XCompose-fil) är den råa karaktären.
tack för det här !Någon chans att du kan uppdatera för Karabiner Elements eftersom den här inte använder XML längre
Cajunluke
2011-11-17 06:58:52 UTC
view on stackexchange narkive permalink

En "död nyckel" -funktion som liknar vad du vill redan finns som standard. För att få bokstaven é, tryck på Alternativ ⌥ + e och sedan e .

När du har tryckt på + e ser du ett ´ -tecken markerat (det är gult på min dator). Tryck på valfri bokstav som tar det accentmärket (detta varierar beroende på ditt tangentbordsspråk, för EN-US är det é, ú, í, ó och á) och du får den accentversionen av bokstaven. Det finns andra accenter möjliga: + ` ger en agrave accent (` `'', + e ger en akut accent (´), + u ger en diaeresis / umlaut (¨), + i kbd > ger en circumflex accent (ˆ) och + n ger en tilde (˜). Icke-amerikanska tangentbordslayouter (särskilt walesiska) har fler accenter och tillåter fler bokstäver för samma accenter. Keyboard Viewer är användbart för att ta reda på vilka kombinationer som för närvarande stöds i din layout.

Om du är på Lion, som @djacobson nämnde, kan du hålla ner några bokstäver för att se en rad olika accenterade alternativ för det brevet.

om du använder en annan tangentbordslayout kanske det inte är '⌥ + e'.För att se vilken det är, öppna Keyboard Viewer (från ikonen för språkfältet) och tryck på ⌥.Knapparna som visas i gult betecknar kompositionstecken
mach
2012-08-28 14:00:07 UTC
view on stackexchange narkive permalink

Skriv tangent på dedikerad tangentbordslayout

Jag har skrivit U.S. anpassad, en tangentbordslayout som implementerar komponentnyckeln.

På Mac OS X finns det två sätt att implementera komponentnyckeln: Antingen med kan implementeras antingen med Cocoa-textsystemet (som som redan beskrivits i Sam Hocevars mest användbara svar) eller med en dedikerad tangentbordslayout. Båda metoderna har sina för- och nackdelar:

  • En komponentnyckelimplementering med Cocoa-textsystemet fungerar oberoende av vald tangentbordslayout. Textinställningarna för Cocoa i DefaultKeyBinding.dict -filen kan, som jämförelse, enkelt ändras.
  • En implementering av en komponentnyckel med en tangentbordslayout fungerar över hela operativsystemet i alla applikationer, inte bara i kakaoapplikationer. Den kan slås på och av med användargränssnittet genom att välja en annan tangentbordslayout. Det finns en visuell återkoppling när du skriver kompositionskombinationen (som förändrar beteendet något.).

Installationen av tangentbordslayouten är enkel:

  1. Ladda ner och öppna uscustom.2012-08-28.zip.
  2. Flytta filerna UScustom.keylayout och UScustom.icns till någon av:
    • / Library / Keyboard Layouts / (för alla användare)
    • ~ / Library / Keyboard Layouts / (just för dig krävs inga administratörsbehörigheter)
  3. Aktivera USA anpassad tangentbordslayout i fliken Inmatningskällor i Språk & Text Inställningsfönstret, så att du sedan kan välja den från ingångskällornas menyrad - dess ikon visar en amerikansk flagga med lite C för "anpassad" eller för "komponera": U.S. custom icon .

Komponentknappen för den amerikanska anpassade tangentbordslayouten mappas till två olika tangenter:

  • Det finns en komponentnyckel vid ISO § (det vill säga överskottstangenten på ett ISO-tangentbord; ISO-tangentbord är de där returnyckeln är formad som en vänd huvudstad bokstav L).
  • Det finns en annan skrivnyckel vid Skift + Kontroll + F13 . Det här är samma mappning som Sam Hocevar har valt, så om du vill mappa komponeringsnyckeln till rätt alternativtangent kan du exakt följa de noggranna förklaringar som beskrivs i hans svar.

Tilldela compose till capslock

Om du vill tilldela compose till capslock-tangenten (som i den ursprungliga frågan) behöver du Takayama Fumihikos PCKeyboardHack förutom KeyRemap4MacBook:

  1. Installera PCKeyboardHack.
  2. Öppna inställningsfönstret PCKeyboardHack.
  3. Markera kryssrutan Ändra Caps Lock .
  4. Dubbelklicka på keycode för Change Caps Lock och ange 10 (ISO § ).
  5. ol>

    Detta fungerar med USA anpassad tangentbordslayout. För att tilldela Cocoa-textsystemets komponeringsnyckel (som noggrant beskrivs av Sam Hocevar) till capslock, behöver du ytterligare ett steg:

    Med KeyRemap4MacBook, kartlägg ISO § till Skift + Kontroll + F13 (eller varhelst din skrivnyckel är). För att göra det, följ stegen noggrant förklarade av Sam Hocevar, men ändra koden som ska placeras i ~ / Library / Application Support / KeyRemap4MacBook / private.xml så här:

      <? xml version = "1,0"? ><root><item> <name>Send Shift-Ctrl-F13 för ISO Section< / name> <identifier>private.send_shift_ctrl_f13_for_iso_section< / identifier> <autogen> --KeyToKey-- KeyCode :: UK_SECTION, ModifierFlag :: INGEN, KeyCode :: F13 , ModifierFlag :: SHIFT_L | ModifierFlag :: CONTROL_L < / autogen>< / item>< / root>  
JW8
2011-11-17 06:59:08 UTC
view on stackexchange narkive permalink

Om du vill omforma en av dina nycklar, ta en titt på KeyRemap4MacBook, som det hänvisas till i detta SU-inlägg. -dokumentationen noterar att Caps Lock kan mappas om, och anpassade mappningar stöds också .

Alexander - Reinstate Monica
2012-08-28 22:33:59 UTC
view on stackexchange narkive permalink

Vad är fel med standardmetoden för teckeninmatning med accent (från och med 10.7 Lion)

Håll bara ned bokstaven så visas en lista med alternativ.

Denna metod för inmatning * drastiskt * saktar ner skrivhastigheten. Också: http://apple.stackexchange.com/questions/31487/add-compose-key-to-os-x/62269#comment36109_31487


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...