Skip to content

Archives

  • 2022 január
  • 2021 december
  • 2021 november
  • 2021 október
  • 2021 szeptember

Categories

  • Nincs kategória
Trend RepositoryArticles and guides
Articles

Hogyan lehet egyetlen Mac billentyűzetbillentyűt átcsoportosítani

On december 31, 2021 by admin

Hogyan lehet az egyik Mac OS X billentyűzetbillentyűt átcsoportosítani a másikra külső eszközök használata nélkül?Egyáltalán lehetséges ez anélkül, hogy mac fejlesztő lennél?Kiderült, hogy az új macOS X 10.12 Sierra-ban elég egyszerű egy kis hidutil nevű util segítségével.

  • Probléma
  • megoldás
  • Automatikusan beállítja az egyéni billentyűleképezést minden újraindítás után
  • Kérdések
  • Források

Probléma

Nem tetszik a Mac billentyűzetkiosztása, vagy rosszabb esetben a munkahelyeden más kiosztással kell dolgoznod, mint otthon.Mindkét esetben telepíthetsz valamilyen külső eszközt, ami elvégzi helyetted a remappinget, de talán nem szeretnéd, ha csak egyetlen billentyű remappingjéhez további alkalmazásod lenne?Az én problémám azzal függött össze, hogy otthon brit billentyűzetem van, a munkahelyemen pedig amerikai.Bár IMO nem probléma megszokni bármelyiket, a kettő közötti napi szintű váltás bosszantó.Volt egy billentyű, ami fejlesztői szempontból kicsit megnehezíti a dolgokat.Ez egy tilde billentyű `.A tilde billentyű az 1/ mellett van elhelyezve! az amerikai billentyűzeten, a brit billentyűzeten pedig egy szakaszjeles § billentyűvel helyettesítve.

megoldás

Mint kiderült, a macOS X 10.12 Sierra esetében nem kell mást tenni, mint egy rövid kódfuttatással elvégezni a szükséges remappinget.

Itt egy egyszerű példa arra a problémára, amivel szembesültem, ami a §/£ átképzése volt a `/~ billentyűre.

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

Amint láthatod, a HIDKeyboardModifierMappingSrc és HIDKeyboardModifierMappingDst megfelelő értékeket (usage ID) kell elhelyezned, amelyeket a hivatalos dokumentumokban található táblázatban kell keresned.Mi több, minden egyes “Usage ID (hex)” esetében ki kell számolnod a bitenkénti “OR”-t a 0x700000000-vel, ami a legtöbb esetben nagyon egyszerű, de ha ez nehézségekbe ütközik, használhatod a következő Bash parancsot is:

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

Ahol az 0x64 értéket a “Usage ID (hex)” oszlopból származó értékkel kell helyettesíteni.

Az aktuális/hatékony hozzárendelések ellenőrzéséhez futtathatja:

hidutil property --get "UserKeyMapping"

És végül, de nem utolsósorban. Ahhoz, hogy mindent visszaállítson, amit eddig beállított, csak futtassa:

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

NOTE

Az hidutil segítségével végrehajtott összes változtatás azonnali, tehát nem kell újraindítani semmit.

Automatikusan beállítja az egyéni billentyűleképezést minden újraindítás után

Készítsen plist fájlt pl. /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>

Aztán töltse be a sudo launchctl load -w /Library/LaunchDaemons/org.custom.keyboard-remap.plist segítségével, hogy minden rendszer újraindításakor betöltődjön.

Ha ellenőrizni szeretné, hogy a plist fájl sikeresen betöltődött-e, akkor használhatja a sudo launchctl list | grep org.custom.keyboard-remap.plist-t.

MEGJEGYZÉSA plist fájl rendszer automatikus indításából való kitöltésének megszüntetéséhez használd asudo launchctl unload /Library/LaunchDaemons/org.custom.keyboard-remap.plist

Kérdések

Egyetlen problémám van ezzel a problémával, ami a megfelelő “Használati azonosító (hex)” megtalálása volt a szakaszjelző § kulcshoz.Mint kiderült, az Apple dokumentációban Keyboard Non-US \ és |.Annak érdekében, hogy ezt kiderítsem, próbálgatással és hibával közelítettem meg, tehát semmi különös.Ha jobb módszerrel találkozol a “Usage ID (hex)” kódok megtalálására, kérlek, oszd meg velünk.

Ha a plist fájl betöltése után Invalid property list hibaüzenetet kapsz, valószínűleg a plist fájl régi szintaxisát próbálod használni az említett <key>ProgramArguments</key> helyett <key>Program</key>-val.

Források

  • 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 topic about that
  • https://en.wikipedia.org/wiki/British_and_American_keyboards – possible keyboard layouts
  • https://apple.stackexchange.com/questions/329085/tilde-and-plus-minus-%C2%B1-in-wrong-place-on-keyboard – exact same topic found after writing that post

.

Vélemény, hozzászólás? Kilépés a válaszból

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Archívum

  • 2022 január
  • 2021 december
  • 2021 november
  • 2021 október
  • 2021 szeptember

Meta

  • Bejelentkezés
  • Bejegyzések hírcsatorna
  • Hozzászólások hírcsatorna
  • WordPress Magyarország
  • 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