C++
Windows下
使用 conio.h库中的 getch函数
#include <iostream>
#include "conio.h"
using namespace std;
int main()
{
char ch;
while (true)
{
cout << "请输入按键:" << endl;
ch = getch();
if (ch == 'q') return 0;
cout << "你输入的按键是 ->" << ch << "\n\r";
}
return 0;
}
Linux下
通过 system(“stty raw”) 设置终端为非阻塞模式
另外通过 system(“stty -echo”) 隐藏输入
#include <iostream>
using namespace std;
int main(void)
{
char ch;
system("stty -echo"); // 隐藏输入
system("stty raw"); // 设置终端非阻塞模式
while (true)
{
cin >> ch;
if (ch == 'q') return 0;
cout << "get your input -> " << ch << "\n\r";
}
return 0;
}
Python
安装库
pip install pynput
监听键盘
from pynput.keyboard import Listener, Key
from sys import exit
def on_press(key):
if key == Key.esc:
exit(0)
print("press-> ", key)
if __name__=="__main__":
with Listener(on_press=on_press, on_release=None) as listener:
listener.join()