根据这个问题tty 仅识别字符输入和其余功能键 F[1-12] 作为字符序列。
我有一个 CUI 应用程序在 wineconsole 上运行,需要按下 F12 键,所有操作都在 tty 会话中执行(ctrl+alt+f[1-6])。现在我可以使用 ctrl+[ [24~ 或 esc [24~ 发送 F12 的预期字符序列,但使用字符序列发送功能键会违反直觉且不太容易记住。
所以我的问题是:有什么方法可以绑定或配置 tty 终端以识别 F12 按键(以及其余功能键)以及 F12。
以下是我在 tty 终端中使用 showkey 命令按下 F12 键后的输出
kb mode was UNICODE
[ if you are trying this under X, it might not work since the X server is also reading /dev/console ]
press any key (program terminates 10s after last keypress)...
keycode 28 release
keycode 88 press
keycode 88 release
这是 tput 的输出
F1 ^[[[A
F2 ^[[[B
F3 ^[[[C
F4 ^[[[D
F5 ^[[[E
F6 ^[[17~
F7 ^[[18~
F8 ^[[19~
F9 ^[[20~
F10 ^[[21~
F11 ^[[23~
F12 ^[[24~
提前致谢
答案1
我的错,问题似乎出在 wineconsole 上,而不是终端本身。终端可以接受按键,但似乎无法被运行在 curses 模式下的 CUI 应用程序识别。