
Ich habe diese hilfreiche Einstellung in Tweak Tools aktiviert, wenn ich ein lästiges externes Apple Magic Keyboard verwende:
Diese Einstellung stellt die Tastaturfunktion aus meiner Sicht normal dar (Supertaste ist rechts neben der Strg-Taste).
Diese Einstellung im Tweak-Tool wirkt sich jedoch auch auf die Tastaturbelegung meines Laptops aus. Kann ich diese Einstellung irgendwie nur für dieses nervige externe Apple Magic Keyboard vornehmen?
Antwort1
Sie können verwenden xkbcomp
, und der detaillierte Prozess ist beschriebenHier. Sie müssen die Codes für die neu zuzuordnenden Tasten finden. Andere Antworten im selben OP könnten hilfreich sein.
xkeycaps
könnte nützlich sein.
Verwandt>
- Wie ordnet ich bestimmte Tasten oder Geräte neu zu?
- https://dev.to/0xbf/Tasten-auf-der-Tastatur-in-ubuntu-5a36-neu-zuordnen
- http://www.fascinatingcaptain.com/projects/remap-keyboard-keys-for-ubuntu/
- (Kommentar von Pablo Bianchi)https://superuser.com/questions/277990/wie-tausche-ich-alt-und-windows-keys-mit-xmodmap
- (Kommentar von Pablo Bianchi)https://unix.stackexchange.com/questions/86933/swap-alt-and-super
Antwort2
Dies ist insgesamt eine Antwort, da sie nicht vollständig ist, aber ich würde die Tastentauschoption einfach mit setxkbmap der jeweiligen Tastatur zuweisen.
xinput
gibt Ihnen die ID Ihrer Tastatur
Wutang@Shaolin:~$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ VirtualBox mouse integration id=9 [slave pointer (2)]
⎜ ↳ VirtualBox USB Tablet id=10 [slave pointer (2)]
⎜ ↳ ImExPS/2 Generic Explorer Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Sleep Button id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
Um ganz ehrlich zu sein, ich bin extrem faul und störe meine virtuelle Umgebung nicht, um die zweite Tastatur durchzugeben, mit der ich getestet habe. Und noch fauler bin ich, dass ich kein Ausschneiden und Einfügen vom Host (-->VM) einrichte, das die beiden Tastaturen tatsächlich anzeigt ... (Scheiße!^-Antwort)
Sie müssen sich also nur vorstellen, dass es in meiner Ausgabe eine zweite Tastatur mit einer eindeutigen ID gibt
Wenn ich nur eine meiner Tastaturen ändern möchte (AT Translated Set 2-Tastatur):
setxkbmap -device 11 -option altwin:swap_lalt_lwin
Ich gehe davon aus, dass dies nicht dauerhaft ist; wahrscheinlich verschwindet es, wenn Sie die Tastatur abziehen, sich abmelden oder das Gerät ausschalten.
Das Flag -option ohne Angabe einer Option entfernt alle Optionen.
Antwort3
Es stellte sich heraus, dass mein Kollege das gleiche Problem hatte. Mit seiner Erlaubnis ist hier die Lösung, die sofort funktioniert hat:
Führen Sie dies zunächst aus und scrollen Sie zu den Informationen zur Tastatur. Ausführencat /proc/bus/input/devices | less
I: Bus=0005 Vendor=004c Product=026c Version=0160
N: Name="Magic Keyboard with Numeric Keypad"
P: Phys=44:e5:17:96:76:24
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0/bluetooth/hci0/hci0:256/0005:004C:026C.0007/input/input38
U: Uniq=c4:14:11:03:c2:de
H: Handlers=sysrq kbd event20 leds
B: PROP=0
B: EV=120013
B: KEY=10000 0 0 1 1007b00001007 ff9f207ac14057ff ffbeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f
Erstellen Sie nun auf diese Weise eine ID:
evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-<modalias>
Wo Version und Modalitäten keine Rolle spielen. Ich bekomme Folgendes:
evdev:input:b0005v004Cp026C*
Erstellen Sie als nächstes diese Datei
etc/udev/hwdb.d/60-applekeyboard.hwdb
Ich glaube nicht, dass der Name wichtig ist, aber ich bin nicht sicher.
Die Datei sollte die gerade erstellte ID und die Neuzuordnung der Schlüssel enthalten:
# Apple magic
evdev:input:b0005v004Cp026C*
KEYBOARD_KEY_700e2=leftmeta
KEYBOARD_KEY_700e3=leftalt
Wie finden Sie die Namen? Führen Sie einfach sudo evtest
„find“ auf Ihrer Tastatur aus und drücken Sie die Taste, die Sie ändern möchten. Die Ausgabe sieht folgendermaßen aus:
Event: time 1644400418.762658, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e3
Event: time 1644400418.762658, type 1 (EV_KEY), code 56 (KEY_LEFTMETA), value 1
Verwenden Sie diese Ausgabe, um den gewünschten Schlüssel zu erstellen und zu ändern.
Führen Sie als Nächstes mit sudo die folgenden Befehle aus, um die Aktualisierung durchzuführen:
systemd-hwdb update
udevadm control --reload-rules
udevadm trigger
Dann sind Sie fertig.