Utk*_*rma 5 keyboard-shortcuts kernel-modules x11 i3 asus
我在我的 ASUS FX505DT 上运行 Kubuntu 19.10(KDE + i3wm)。
\n\n我可以XF86RFKill使用 i3wm 绑定密钥bindsym,但此绑定似乎不会取消 Linux 切换飞行模式的内置绑定。
这是xev我按Fn+时返回的内容F12,应该触发XF86RFKill:
MappingNotify event, serial 48, synthetic NO, window 0x0,\n request MappingKeyboard, first_keycode 8, count 248\n\nFocusOut event, serial 48, synthetic NO, window 0x7a00001,\n mode NotifyGrab, detail NotifyAncestor\n\nFocusOut event, serial 48, synthetic NO, window 0x7a00001,\n mode NotifyUngrab, detail NotifyPointer\n\nFocusIn event, serial 48, synthetic NO, window 0x7a00001,\n mode NotifyUngrab, detail NotifyAncestor\n\nKeymapNotify event, serial 48, synthetic NO, window 0x0,\n keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \nRun Code Online (Sandbox Code Playgroud)\n\n当我测试各种东西时,我发现我的笔记本电脑有一个用于此功能键的单独输入设备,如下所示xinput list:
$ xinput list\n\xe2\x8e\xa1 Virtual core pointer id=2 [master pointer (3)]\n\xe2\x8e\x9c \xe2\x86\xb3 Virtual core XTEST pointer id=4 [slave pointer (2)]\n\xe2\x8e\x9c \xe2\x86\xb3 ELAN1200:00 04F3:30BA Mouse id=12 [slave pointer (2)]\n\xe2\x8e\x9c \xe2\x86\xb3 ELAN1200:00 04F3:30BA Touchpad id=13 [slave pointer (2)]\n\xe2\x8e\xa3 Virtual core keyboard id=3 [master keyboard (2)]\n \xe2\x86\xb3 Virtual core XTEST keyboard id=5 [slave keyboard (3)]\n \xe2\x86\xb3 Power Button id=6 [slave keyboard (3)]\n \xe2\x86\xb3 Asus Wireless Radio Control id=7 [slave keyboard (3)]\n \xe2\x86\xb3 Video Bus id=8 [slave keyboard (3)]\n \xe2\x86\xb3 Power Button id=9 [slave keyboard (3)]\n \xe2\x86\xb3 Sleep Button id=10 [slave keyboard (3)]\n \xe2\x86\xb3 USB2.0 HD UVC WebCam: USB2.0 HD id=11 [slave keyboard (3)]\n \xe2\x86\xb3 Asus WMI hotkeys id=14 [slave keyboard (3)]\n \xe2\x86\xb3 AT Translated Set 2 keyboard id=15 [slave keyboard (3)]\n\nRun Code Online (Sandbox Code Playgroud)\n\n我通过在命令期间按Fn+进一步确认了这一点,它已正确注册:F12xinput test 7
$ xinput test 7\nkey press 255 \nkey release 255 \nkey press 255 \nkey release 255 \nRun Code Online (Sandbox Code Playgroud)\n\nFn我想将+键的键绑定F12,或者XF86RFKill从 Linux 转移到i3wm. 我有用于切换飞行模式的脚本,并且我已使用以下方式绑定它:
bindsym XF86RFKill exec --no-startup-id toggle-airplane\nRun Code Online (Sandbox Code Playgroud)\n\ni3 绑定有效,但问题是,**Linux 和i3wm按下按键时都会切换飞行模式,因此由于连续两次切换,导致什么也不做。
\n\n\n当前由 KDE 实现的飞行模式实际上是有问题的,因为它不记得在打开飞行模式之前关闭的设备,因此它会在禁用飞行模式后打开所有无线电设备,即使它们最初被关闭模式。我编写了一个 bash 脚本来实现我的目标,因此也是手动绑定此密钥的动机。
\n
经过一些研究和探索后,我发现asus_wireless内核模块对这种行为负责。只需将模块列入黑名单即可,但我的笔记本电脑不再检测到按键。是否可以以某种方式保留按键以禁用热键?
小智 1
不是这个主题的专家,但这对我有用。也许它也可以帮助你。要禁用启用飞行模式的输入,请在终端中运行:
xmodmap -e 'keycode 255='
Run Code Online (Sandbox Code Playgroud)
来源:如何在 Linux (Ubuntu) 中禁用键盘按键?
此外,该命令xmodmap -pke显示所有键盘映射的列表
| 归档时间: |
|
| 查看次数: |
1073 次 |
| 最近记录: |