2017-08-16 109 views
-2

我目前正在研究映射每個可能的鍵盤和鼠標中斷的項目。 映射在linux環境下完成,並使用ncurses庫。用ncurses捕捉特殊字符

的問題是如何捕捉到下面的鍵盤鍵:

首頁 結束 頁面向上/向下

按下這些鍵時,終端本身正趕上他們和程序本身不能看到他們(花配置的幾個小時,沒有發現溶液還)

暫停/斷(在上述標準鍵盤向上翻頁) PrtScreen 貨號鎖定鍵(0至9和<>)。 Windows按鈕

以下只是沒有得到任何響應,無論是從終端或程序。

回答

0

短:你不能趕上所有鍵與ncurses的

長:常見問題在於未能正確初始化的事情:

  • 你可能忘了打電話給keypad(stdscr,TRUE)(或任何窗口您可能會使用wgetch)。這將允許應用程序以整數形式讀取終端描述中定義的任何鍵。

  • 如果它不在終端描述中,(n)curses將返回組成從鍵盤發送的密鑰的字節序列。

這是兩個可能的問題。還有其他終端不會發送的按鍵(或按鍵的組合)(以使得不同的鍵盤序列產生的方式)。例如,使用控制鍵與其他鍵可能更改由鍵盤發送的序列,或者它可能不會。要查看此信息,請在鍵盤的該區域中使用帶逗號,句點或其他標點符號的控制鍵進行實驗。