3
他們問如何捕獲鍵,如F11或insand getchr不返回鍵的那些東西,並沒有什麼我能找到的工作是接受來自輸入事件的原始輸入..getch返回-1?
我現在想的ncurses /詛咒在C++程序中捕獲這些密鑰。
我的測試程序很簡單,它基本上是:
#include <stdlib.h>
#include <stdio.h>
#include <curses.h>
int main() {
int car;
while(c != '\b') {
c = getch();
printf("%i", c);
}
return 0;
}
我使用它,當然另一個相同的getch()函數,但它返回-1
無限次..我用最近的內核在Arch linux中,在一個標準的終端(也在xterm
中測試過)
是否有某個開關需要打開才能在庫中使用此getch()?
我不是詛咒專家,但它似乎也可能要調用'keypad(stdscr,TRUE);'這樣ncurses可以轉換特殊鍵轉義序列並從getch()返回由* KEY_ *宏。例如'if(getch()== KEY_F0 + 11){/ * f11 pressed * /}' – 2010-11-22 01:23:32
謝謝。由於某些原因,我的FN密鑰在Linux上不起作用,所以我無法測試這些密鑰,但它確實適用於插入和不希望的奇怪密鑰。我希望我不需要將來自內核的原始鍵盤輸入映射到那些fn + ins鍵和東西得到暫停:\ – John 2010-11-22 01:30:19