在我的计算机上,我插入了两个 USB 键盘。是否可以将第二个键盘设置为运行命令而不是键入字母,而不是只键入相同的键?如果这是不可能的,是否可以设置为至少输入另一种语言,例如俄语?
pbm*_*pbm 17
这是我可以推荐的第三个答案actkbd...... :)
因此,如果您想将第二个键盘的所有键配置为运行命令而不是键入字母,您可以使用actkbd... :)
安装后,actkbd我们需要找到用于从键盘接收事件的设备文件:
pbm@tauri ~ $ cat /proc/bus/input/devices
[cut]
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input7
U: Uniq=
H: Handlers=sysrq kbd event5
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input1
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input8
U: Uniq=
H: Handlers=kbd event6
B: PROP=0
B: EV=1b
B: KEY=2010000 397ad801d001 1e000000000000 0
B: ABS=100000000
B: MSC=10
[cut]
Run Code Online (Sandbox Code Playgroud)
在此列表中,您应该找到您的键盘,并检查它的处理程序。使用sudo actkbd -s -d /dev/input/HANDLER_NAME检查,如果该处理程序发送事件。如果您运行此命令并按下键盘上的键(检查要绑定到命令的键),您应该会得到如下内容:
pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event5
Keys: 57
Keys: 35
Run Code Online (Sandbox Code Playgroud)
如果您有键码,我们可以创建actkbd配置文件:
pbm@tauri ~ $ sudo nano /etc/actkbd.conf
30:::sudo -u pbm DISPLAY=:0 amarok
//30 is keycode for letter a
Run Code Online (Sandbox Code Playgroud)
当您保存该文件时,我们应该测试配置是否有效:
pbm@tauri ~ $ sudo actkbd -d /dev/input/event5 -D
Run Code Online (Sandbox Code Playgroud)
当您按下配置文件最后一列的配置文件命令中的键时,将启动。
我认为有一种方法可以禁用向应用程序发送密钥,但我找不到它 - 查看README 文件。
actkbd您可以在 X 中关闭键盘,而不是尝试禁用它。
pbm@tauri ~ $ xinput list
[cut]
? Logitech USB Keyboard id=12 [slave keyboard (3)]
? Logitech USB Keyboard id=11 [slave keyboard (3)]
pbm@tauri ~ $ xinput set-prop 11 "Device Enabled" 0
pbm@tauri ~ $ xinput set-prop 12 "Device Enabled" 0
Run Code Online (Sandbox Code Playgroud)
它应该可以完成工作...... :) 有关actkbd查看此答案的更多信息。
使用actkbd(可能还有一些脚本)您还可以配置您的键盘以将模式从命令模式更改为使用俄语字母的输入模式。对于这个阅读Ulrich Schwarz's答案。
| 归档时间: |
|
| 查看次数: |
6698 次 |
| 最近记录: |