Ich verwende Kubuntu 19.10 (KDE + i3wm) auf meinem ASUS FX505DT.
Das Thema
Ich kann den XF86RFKill
Schlüssel mit i3wm binden bindsym
, aber diese Bindung scheint die in Linux eingebaute Bindung, die umschaltet, nicht aufzuhebenFlugzeug-Modus.
Verhalten des Problems
Dies ist, was xev
zurückgegeben wird, wenn ich Fn+ drücke F12, was Folgendes auslösen soll XF86RFKill
:
MappingNotify event, serial 48, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
FocusOut event, serial 48, synthetic NO, window 0x7a00001,
mode NotifyGrab, detail NotifyAncestor
FocusOut event, serial 48, synthetic NO, window 0x7a00001,
mode NotifyUngrab, detail NotifyPointer
FocusIn event, serial 48, synthetic NO, window 0x7a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 48, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Beim Ausprobieren verschiedener Dinge habe ich festgestellt, dass mein Laptop über ein separates Eingabegerät für diese Funktionstaste verfügt, wie folgendes zeigt xinput list
:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN1200:00 04F3:30BA Mouse id=12 [slave pointer (2)]
⎜ ↳ ELAN1200:00 04F3:30BA Touchpad id=13 [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)]
↳ Asus Wireless Radio Control id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ USB2.0 HD UVC WebCam: USB2.0 HD id=11 [slave keyboard (3)]
↳ Asus WMI hotkeys id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
Ich habe dies zusätzlich bestätigt, indem ich während des Befehls Fn+ gedrückt habe , was ordnungsgemäß registriert wurde:F12xinput test 7
$ xinput test 7
key press 255
key release 255
key press 255
key release 255
Was ich möchte
FnIch möchte die Tastenkombination + F12oder XF86RFKill
von Linux auf ändern i3wm
. Ich habe das Skript zum Umschalten des Flugzeugmodus und habe es folgendermaßen verknüpft:
bindsym XF86RFKill exec --no-startup-id toggle-airplane
Die i3-Bindung funktioniert, aber das Problem besteht darin, dass **sowohl Linux als auch der i3wm
Flugzeugmodus beim Drücken der Taste umgeschaltet werden, was aufgrund des zweimaligen aufeinanderfolgenden Umschaltens dazu führt, dass nichts passiert.
Die jetzigeFlugzeug-Modus, implementiert von KDE, ist tatsächlich fehlerhaft, da es sich nicht daran erinnert, welche Geräte vor dem Einschalten ausgeschaltet wurdenFlugzeug-Modus, und daher werden alle Funkgeräte eingeschaltet, auch wenn sie zunächst ausgeschaltet waren, nach der DeaktivierungFlugzeug-Modus. Um mein Ziel zu erreichen, habe ich ein Bash-Skript geschrieben und daher die Motivation, diesen Schlüssel manuell zu binden.
Aktualisierung 1:
Nach einigen Recherchen und Erkundungen habe ich festgestellt, dassasus_wireless
Das Kernelmodul ist für dieses Verhalten verantwortlich. Das Modul einfach auf die schwarze Liste zu setzen, funktioniert, aber mein Laptop erkennt den Tastendruck nicht mehr. Ist es möglich, den Tastendruck irgendwie beizubehalten, indem der Hotkey deaktiviert wird?
Antwort1
Ich bin kein Experte auf diesem Gebiet, aber bei mir hat es funktioniert. Vielleicht hilft es Ihnen auch. Um die Eingabe zu deaktivieren, die den Flugzeugmodus aktiviert, führen Sie im Terminal Folgendes aus:
xmodmap -e 'keycode 255='
Quelle:Wie deaktiviere ich eine Tastaturtaste in Linux (Ubuntu)?
Darüber hinaus zeigt der Befehl xmodmap -pke
eine Liste aller Tastenbelegungen an