私はASUS FX505DTでKubuntu 19.10(KDE + i3wm)を実行しています。
質問
XF86RFKill
i3wmを使用してキーをバインドすることはできますが、bindsym
このバインディングはLinuxの組み込みバインディング(変換)をキャンセルしないようです。飛行機モード。
問題行動
xev
+を押すと、Fn次のものが返されます。F12これは次のように実行されます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
さまざまなものをテストしている間、私のラップトップには、次のようにこのファンクションキー用の別の入力デバイスがあることがわかりました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)]
コマンド中に+を押してFnそれをさらに確認しましたが、正しく登録されました。F12xinput test 7
$ xinput test 7
key press 255
key release 255
key press 255
key release 255
私が望むもの
Fn+キーF12のキーバインディングをXF86RFKill
LinuxまたはLinuxで転送したいですi3wm
。機内モードを切り替えるスクリプトがあり、以下を使用してバインドしました。
bindsym XF86RFKill exec --no-startup-id toggle-airplane
i3バインディングは機能しますが、問題は**Linuxで、i3wm
キーを押すとどちらも飛行機モードに切り替わるため、連続して2回切り替えても何もしません。
現在の飛行機モードKDEによって実装され、デバイスが開かれる前に閉じられたことを覚えていないので、実際にバグがあります。飛行機モードしたがって、最初にオフになっていたラジオもすべてオンになりますが、無効にした後飛行機モード。目標を達成するためにbashスクリプトを作成したので、このキーを手動でバインドする動機が与えられました。
アップデート1:
いくつかの研究とナビゲーションの終わりに私は発見しました。asus_wireless
カーネルモジュールがこの動作を担当します。単にモジュールをブラックリストに追加するだけで動作しますが、私のラップトップはもはやキー押しを検出しません。ショートカットを無効にするために何らかの方法でキーを保存できますか?
ベストアンサー1
このトピックの専門家ではありませんが、これが私に役立ちました。たぶんそれはあなたにも役立ちます。機内モードを有効にする入力を無効にするには、端末で次の操作を行います。
xmodmap -e 'keycode 255='
源泉:Linux(Ubuntu)でキーボードキーを無効にする方法は?
また、このコマンドはxmodmap -pke
すべてのキーマップのリストを表示します。