Skip to content

Archives

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Categories

  • Žádné rubriky
Trend RepositoryArticles and guides
Articles

Jak přemapovat jednu klávesu klávesnice Macu

On 31 prosince, 2021 by admin

Jak přemapovat jednu klávesu klávesnice Mac OS X na druhou bez použití externích nástrojů?Je to vůbec možné, aniž byste byli vývojáři počítačů Mac?Ukazuje se, že v novém macOS X 10.12 Sierra je to docela jednoduché, a to pomocí malé utility s názvem hidutil.

  • Problém
  • Řešení
  • Automatické nastavení vlastního mapování kláves po každém restartu
  • Problémy
  • Zdroje

Problém

Nelíbí se vám rozložení klávesnice Macu, nebo ještě hůř, musíte v práci pracovat s jiným rozložením, než máte doma.V obou případech si můžete nainstalovat nějaký externí nástroj, který přemapování provede za vás, ale možná se vám nelíbí mít další aplikaci jen na přemapování jedné klávesy?“ Můj problém souvisel s tím, že doma mám britskou klávesnici a v práci americkou. i když IMO není problém si zvyknout na žádnou z nich, každodenní přepínání mezi nimi je nepříjemné. z vývojářského hlediska to trochu komplikuje zejména jedna klávesa, a to klávesa tilde `. klávesa tilde je umístěna vedle 1/! na americké klávesnici a na britské klávesnici je nahrazena klávesou se znakem sekce §.

Řešení

Jak se ukázalo, pro systém MacOS X 10.12 Sierra nemusíte udělat nic víc, než spustit krátký kus kódu, který provede požadované přemapování.

Tady je jednoduchý příklad pro problém, se kterým jsem se potýkal a který spočíval v přemapování klávesy §/£ na klávesu `/~.

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

Jak vidíte, musíte pro klávesy HIDKeyboardModifierMappingSrc a HIDKeyboardModifierMappingDst umístit příslušné hodnoty (ID použití), které budete muset najít v tabulce v oficiálních dokumentech.Navíc pro každé „Usage ID (hex)“ budete muset vypočítat bitové „OR“ s 0x700000000, což je ve většině případů velmi snadné, ale pokud s tím máte potíže, můžete také použít následující příkaz Bash:

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

Kde 0x64 by mělo být nahrazeno hodnotou ze sloupce „Usage ID (hex)“.

Pro kontrolu aktuálního/účinného mapování můžete spustit:

hidutil property --get "UserKeyMapping"

A v neposlední řadě. Pro resetování všeho, co jste dosud nastavili, stačí spustit:

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

NOTE

Všechny změny provedené pomocí hidutil jsou okamžité, takže nemusíte nic restartovat.

Automatické nastavení vlastního mapování kláves po každém restartu

Vytvořte soubor plist, například /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>

Poté jej načtěte pomocí sudo launchctl load -w /Library/LaunchDaemons/org.custom.keyboard-remap.plist, aby se načítal při každém restartu systému.

Pokud chcete zkontrolovat, zda byl váš soubor plist úspěšně načten, můžete použít sudo launchctl list | grep org.custom.keyboard-remap.plist.

POZNÁMKAPro odpojení souboru plist od autostartu systému použijtesudo launchctl unload /Library/LaunchDaemons/org.custom.keyboard-remap.plist

Problémy

Mám pouze jeden problém s tímto problémem, kterým bylo nalezení vhodného „Usage ID (hex)“ pro znak sekce § klíč.Jak se ukázalo, v dokumentech Apple byla pojmenována jako Keyboard Non-US \ a |.Abych to zjistil, použil jsem metodu pokus-omyl, takže nic extra.Pokud narazíte na nějaký lepší způsob hledání kódů „Usage ID (hex)“, podělte se prosím.

V případě, že po načtení souboru plist dostáváte chybovou hlášku Invalid property list, nejspíš se snažíte použít starou syntaxi pro soubor plist s <key>Program</key> místo zmíněné <key>ProgramArguments</key>.

Zdroje

  • https://developer.apple.com/library/archive/technotes/tn2450/_index.html – technická poznámka společnosti Apple týkající se přemapování kláves v systému 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 – téma na Stack Overflow na toto téma
  • https://en.wikipedia.org/wiki/British_and_American_keyboards – možné rozložení klávesnice
  • https://apple.stackexchange.com/questions/329085/tilde-and-plus-minus-%C2%B1-in-wrong-place-on-keyboard – přesně stejné téma nalezené po napsání tohoto příspěvku

.

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Archivy

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Základní informace

  • Přihlásit se
  • Zdroj kanálů (příspěvky)
  • Kanál komentářů
  • Česká lokalizace
  • 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
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress