c++键盘按键监控以及键值表

监控代码


int scanKeyboard()
{
    int in;
    struct termios new_settings;
    struct termios stored_settings;
    tcgetattr(0, &stored_settings);
    new_settings = stored_settings;
    new_settings.c_lflag &= (~ICANON);
    new_settings.c_cc[VTIME] = 0;
    tcgetattr(0, &stored_settings);
    new_settings.c_cc[VMIN] = 1;
    tcsetattr(0, TCSANOW, &new_settings);

    in = getchar();

    tcsetattr(0, TCSANOW, &stored_settings);
    return in;
}

键值对应表:

0x1 滑鼠左鍵

0x2 滑鼠右鍵

0x3 CANCEL 鍵

0x4 滑鼠中鍵

0x8 BACKSPACE 鍵

0x9 TAB 鍵

0xC CLEAR 鍵

0xD ENTER 鍵

0x10 SHIFT 鍵

0x11 CTRL 鍵

0x12 MENU 鍵

0x13 PAUSE 鍵

0x14 CAPS LOCK 鍵

0x1B ESC 鍵

0x20 SPACEBAR 鍵

0x21 PAGE UP 鍵

0x22 PAGE DOWN 鍵

0x23 END 鍵

0x24 HOME 鍵

0x25 LEFT ARROW 鍵

0x26 UP ARROW 鍵

0x27 RIGHT ARROW 鍵

0x28 DOWN ARROW 鍵

0x29 SELECT 鍵

0x2A PRINT SCREEN 鍵

0x2B EXECUTE 鍵

0x2C SNAPSHOT 鍵

0x2D INSERT 鍵

0x2E DELETE 鍵

0x2F HELP 鍵

0x90 NUM LOCK 鍵

A 至 Z 鍵與 A – Z 字母的 ASCII 碼相同:

值 描述

65 A 鍵

66 B 鍵

67 C 鍵

68 D 鍵

69 E 鍵

70 F 鍵

71 G 鍵

72 H 鍵

73 I 鍵

74 J 鍵

75 K 鍵

76 L 鍵

77 M 鍵

78 N 鍵

79 O 鍵

80 P 鍵

81 Q 鍵

82 R 鍵

83 S 鍵

84 T 鍵

85 U 鍵

86 V 鍵

87 W 鍵

88 X 鍵

89 Y 鍵

90 Z 鍵

0 至 9 鍵與數位 0 – 9 的 ASCII 碼相同:

值 描述

48 0 鍵

49 1 鍵

50 2 鍵

51 3 鍵

52 4 鍵

53 5 鍵

54 6 鍵

55 7 鍵

56 8 鍵

57 9 鍵

下列常數代表數位鍵盤上的鍵:

值 描述

0x60 0 鍵

0x61 1 鍵

0x62 2 鍵

0x63 3 鍵

0x64 4 鍵

0x65 5 鍵

0x66 6 鍵

0x67 7 鍵

0x68 8 鍵

0x69 9 鍵

0x6A MULTIPLICATION SIGN (*) 鍵

0x6B PLUS SIGN (+) 鍵

0x6C ENTER 鍵

0x6D MINUS SIGN (–) 鍵

0x6E DECIMAL POINT (.) 鍵

0x6F DIVISION SIGN (/) 鍵

下列常數代表功能鍵:

值 描述

0x70 F1 鍵

0x71 F2 鍵

0x72 F3 鍵

0x73 F4 鍵

0x74 F5 鍵

0x75 F6 鍵

0x76 F7 鍵

0x77 F8 鍵

0x78 F9 鍵

0x79 F10 鍵

0x7A F11 鍵

0x7B F12 鍵

0x7C F13 鍵

0x7D F14 鍵

0x7E F15 鍵

0x7F F16 鍵

你可能感兴趣的:(笔记)