我们如何读取键盘中每个键的ascii?
我使用getch()
读取delete
和其他此类密钥..但不读FN keys
或Numlock
或任何全局快捷键的密钥..
那么如何在C程序中捕获这些键呢?
答案 0 :(得分:1)
提到了三种情况:
在Linux的上下文中,getch
指的是ncurses函数。如果您正在使用ncurses,那么您可以告诉它解码功能键(发送一系列字符)并将它们作为单个数字返回(这些数字恰好太大而不适合char
)。例如
int ch;
keypad(stdscr, TRUE);
ch = getch();
NumLock 是一个不同的情况,因为它(如 control 和 shift 键)用作修饰符并且通常不会发送任何字符:
xterm
)可以读取具有此信息的X事件。在这种情况下,xev
的源代码是一个很好的起点。