在 Linux 中,您可以使用 C 語言的 getchar()
函數來實現鍵盤控制
#include<stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
int main() {
struct termios old_term, new_term;
int c;
// 獲取當前終端設置
tcgetattr(STDIN_FILENO, &old_term);
// 復制舊的終端設置到新的設置中
new_term = old_term;
// 修改新的終端設置以實現無緩沖輸入
new_term.c_lflag &= ~(ICANON | ECHO);
// 應用新的終端設置
tcsetattr(STDIN_FILENO, TCSANOW, &new_term);
printf("按下 'q' 鍵退出程序\n");
while (1) {
c = getchar();
if (c == 'q') {
break;
}
printf("您按下了 '%c' 鍵\n", c);
}
// 恢復舊的終端設置
tcsetattr(STDIN_FILENO, TCSANOW, &old_term);
return 0;
}
這個程序會在每次按鍵時立即讀取字符,而不是等待用戶按下回車鍵。當用戶按下 ‘q’ 鍵時,程序將退出。在程序運行期間,您可以嘗試按下其他鍵并查看程序的響應。