Hoppa till innehåll

Archives

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Categories

  • Inga kategorier
Trend RepositoryArticles and guides
Articles

Hur man ändrar en enskild tangentbordstangent på Mac

On december 31, 2021 by admin

Hur man ändrar en tangentbordstangent på Mac OS X till en annan utan att använda några externa verktyg?Är det ens möjligt att göra det utan att vara Mac-utvecklare?Det visar sig vara ganska enkelt i nya macOS X 10.12 Sierra med hjälp av ett litet verktyg som heter hidutil.

  • Problem
  • Lösning
  • Automatiskt ställa in anpassad tangentmappning efter varje omstart
  • Saker
  • Källor

Problem

Du tycker inte om tangentbordslayouten på din Mac eller, ännu värre, du måste jobba med en annan layout på jobbet än du har hemma.I båda fallen kan du installera ett externt verktyg som gör omläggningen åt dig, men du kanske inte gillar att ha ett extra program bara för att göra omläggningen av en enda tangent?Mitt problem hängde samman med att jag har ett brittiskt tangentbord hemma och ett amerikanskt tangentbord på jobbet.Även om det IMO inte är något problem att vänja sig vid något av dem så är det irriterande att växla mellan dem dagligen.Det fanns en tangent i synnerhet som gör saker och ting lite svårt ur ett utvecklarperspektiv.Det var tilde-tangenten `.Tilde-tangenten är placerad intill 1/! på det amerikanska tangentbordet och ersätts av en sektionstecken §-tangent på det brittiska.

Lösning

Som det visar sig för macOS X 10.12 Sierra behöver du inte göra något mer än att köra en kort bit kod för att göra den nödvändiga remappningen.

Här är ett enkelt exempel på det problem som jag ställdes inför, nämligen ommappning av §/£ till `/~-tangenten.

hidutil property --set '{"UserKeyMapping": }'

Som du kan se måste du placera lämpliga värden (användnings-ID) för HIDKeyboardModifierMappingSrc och HIDKeyboardModifierMappingDst, som du måste hitta i en tabell i den officiella dokumentationen.Dessutom måste du för varje ”Usage ID (hex)” beräkna bitvis ”OR” med 0x700000000, vilket är mycket enkelt i de flesta fall, men om du har problem med det kan du också använda följande Bash-kommando:

printf '%X\n' "$(( 0x700000000 | 0x64 ))"

Varvid 0x64 ska ersättas med ett värde från kolumnen ”Usage ID (hex)”.

För att kontrollera aktuella/effektiva mappningar kan du köra:

hidutil property --get "UserKeyMapping"

Och sist men inte minst. För att återställa allt du har ställt in hittills kör du bara:

hidutil property --set '{"UserKeyMapping": }'

NOTE

Alla ändringar som görs med hidutil är omedelbara, så du behöver inte starta om något.

Automatiskt ställa in anpassad tangentmappning efter varje omstart

Skapa plist-fil t.ex. /Library/LaunchDaemons/org.custom.keyboard-remap.plist:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <dict> <key>Label</key> <string>org.custom.keyboard-remap</string> <key>ProgramArguments</key> <array> <string>/usr/bin/hidutil</string> <string>property</string> <string>--set</string> <string>{"UserKeyMapping": }</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict></plist>

Lad sedan in den med sudo launchctl load -w /Library/LaunchDaemons/org.custom.keyboard-remap.plist så att den laddas vid varje omstart av systemet.

Om du vill kontrollera om din plist-fil laddades framgångsrikt kan du använda sudo launchctl list | grep org.custom.keyboard-remap.plist.

NOTEFör att avlasta plist-filen från systemets autostart användsudo launchctl unload /Library/LaunchDaemons/org.custom.keyboard-remap.plist

Saker

Jag har bara ett problem med det här problemet som var att hitta ett lämpligt ”Usage ID (hex)” för sektionstecknet §-nyckeln.Det visade sig att den i Apple-dokumentationen heter Keyboard Non-US \ and |.För att ta reda på det har jag använt trial and error-metoden, så det är inget märkvärdigt.Om du kommer på något bättre sätt att hitta ”Usage ID (hex)”-koder får du gärna dela med dig av dem.

Om du får Invalid property list felmeddelande efter att du har laddat plist-fil så är det troligen så att du försöker använda den gamla syntaxen för plist-fil med <key>Program</key> i stället för nämnda <key>ProgramArguments</key>.

Källor

  • https://developer.apple.com/library/archive/technotes/tn2450/_index.html – Apple Technical Note regarding key remapping in macOS X Sierra
  • https://apple.stackexchange.com/questions/283252/how-do-i-remap-a-key-in-macos-sierra-e-g-right-alt-to-right-control – Stack Overflow-ämne om detta
  • https://en.wikipedia.org/wiki/British_and_American_keyboards – möjliga tangentbordslayouter
  • https://apple.stackexchange.com/questions/329085/tilde-and-plus-minus-%C2%B1-in-wrong-place-on-keyboard – exakt samma ämne som hittades efter att ha skrivit det inlägget

.

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Arkiv

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Upphovsrätt Trend Repository 2022 | Tema av ThemeinProgress | Drivs med WordPress