C 獲取鍵盤事件

2021-09-25 02:58:45 字數 2274 閱讀 6615

一   windows 系統下的 vs 中可以使用 _kbhit() 函式來獲取鍵盤事件,使用時需要加入 conio.h 標頭檔案,例:

#include #include using namespace std;

int main()

//當按下esc時迴圈,esc鍵的鍵值時27.}}

system("pause");

}

二   在 unix/linux 下,並沒有提供 kbhit() 函式。我們可以自己來實現 kbhit() 程式。

#include #include static struct termios initial_settings, new_settings;

static int peek_character = -1;

void init_keyboard(void);

void close_keyboard(void);

int kbhit(void);

int readch(void);

void init_keyboard()

void close_keyboard()

int kbhit()

return 0;}

int readch()

read(0,&ch,1);

return ch;}

int main()

close_keyboard();

return 0;

}

三  鍵盤 key code 對照表

字母和數字鍵的鍵碼值(keycode)

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼a65

j74s83

149b66

k75t84

250c67

l76u85

351d68

m77v86

452e69

n78w87

553f70

o79x88

654g71

p80y89

755h72

q81z90

856i73

r82048

957數字鍵盤上的鍵的鍵碼值(keycode)功能鍵鍵碼值(keycode)

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼096

8104

f1112

f7118197

9105

f2113

f8119298

*106

f3114

f9120399

+107

f4115

f10121

4100

enter

108f5

116f11

1225

101-

109f6

117f12

1236

102.

1107

103/

111控制鍵鍵碼值(keycode)

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼

backspace

8esc

27right arrow

39-_

189tab

9spacebar

32dw arrow

40.>

190clear

12page up

33insert

45/?

191enter

13page down

34delete

46`~

192shift

16end

35num lock

144[

221cape lock

20up arrow

38,<

188'"

222多**鍵碼值(keycode)

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼

音量加175

音量減174

停止179

靜音173

瀏覽器172

郵件180

搜尋170

收藏171

C 模擬鍵盤事件

c 模擬鍵盤事件 public partial class form1 form dllimport user32.dll public static extern intptr findwindow string lpclassname,string lpwindowname 匯入尋找window...

osx獲取全域性鍵盤 滑鼠事件

cfrunloopref therl cfrunloopgetcurrent cfmachportref keyupeventtap cgeventtapcreate kcgsessioneventtap,kcgheadinserteventtap kcgeventtapoptionlistenon...

C 模擬鍵盤滑鼠事件

1.模擬鍵盤事件 system.windows.forms.sendkeys 以下是 sendkeys 的一些特殊鍵 表。鍵 backspace 或 break caps lock del 或 delete 或 down arrow 下箭頭鍵 end enter 或 esc help home in...