在linux系统下怎么查看
时间: 2023-09-27 10:06:19 浏览: 63
在 Linux 系统下,你可以使用一些命令行工具来查看键盘输入传入的具体值。其中比较常用的命令是 xev 和 showkey。
1. xev 命令可以显示 X 服务器接收到的所有事件,包括键盘事件。打开终端窗口,输入 xev 命令,按下或释放任意键,就可以在终端窗口中看到相应的事件信息,包括事件类型、键码、扫描码等。例如,按下字母键 a,可以看到类似如下的输出:
```
KeyPress event, serial 34, synthetic NO, window 0x1a00001,
root 0x2a3, subw 0x0, time 227860558, (176,98), root:(176,100),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x1a00001,
root 0x2a3, subw 0x0, time 227860691, (176,98), root:(176,100),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
```
其中,KeyPress 和 KeyRelease 事件分别对应按下和释放键盘按键的事件类型,keycode 对应键码,keysym 对应字符编码。
2. showkey 命令可以显示键盘事件对应的键码和扫描码。打开终端窗口,输入 showkey 命令,按下或释放任意键,就可以在终端窗口中看到相应的键码和扫描码信息。例如,按下字母键 a,可以看到类似如下的输出:
```
keycode 30 press
keycode 30 release
```
其中,keycode 对应键码,press 和 release 分别对应按下和释放键盘按键的事件类型。
需要注意的是,在 Linux 中,不同的终端程序可能会有不同的键盘事件处理方式,导致相同按键的键码或扫描码不同。因此,如果需要编写基于键盘事件的程序,建议使用一些跨平台的键盘事件库,如 SDL、Qt 等,以保证程序的可移植性。