📄 key.h
字号:
/*
* File: key.h
*
* Purpose: key definitions
*/
#ifndef __KEY_H__
#define __KEY_H__
/*--------------------- Export Definitions ------------------------*/
//
// Logically defined key, not exist in hardware
//
#define MK_NULL 0x0000 // null key
#define MK_V_UP 0x00E0 // ^^[A
#define MK_V_DOWN 0x00E1 // ^^[B
#define MK_V_RIGHT 0x00E2 // ^^[C
#define MK_V_LEFT 0x00E3 // ^^[D
#define MK_V_PAGE_UP 0x00E4 // ^^[3~ /*4-key*/
#define MK_V_PAGE_DOWN 0x00E5 // ^^[6~ /*4-key*/
#define MK_V_HOME 0x00E6
#define MK_V_END 0x00E7
#define MK_V_F1 0x003B // ^^[11~ /*5-key*/
#define MK_V_F3 0x003D // ^^[13~ /*5-key*/
#define MK_V_F5 0x003F // ^^[15~ /*5-key*/
#define MK_V_F6 0x0040 // ^^[16~ /*5-key*/
#define MK_V_INSERT 0x0052 // ^^[1~ /*4-key*/
#define MK_V_DELETE 0x0053 // ^^[4~ /*4-key*/
//
// NORMAL KEY
//
//
// The followings are normal key definitions
// we only check their ascii code(low byte)
// and ignore their scan code(high byte)
//
/* Ctrl + normal key */
#define MK_C_A 0x0001
#define MK_C_B 0x0002
#define MK_C_C 0x0003
#define MK_C_D 0x0004
#define MK_C_E 0x0005
#define MK_C_F 0x0006
#define MK_C_G 0x0007
#define MK_C_H 0x0008
#define MK_C_I 0x0009
#define MK_C_J 0x000A
#define MK_C_K 0x000B
#define MK_C_L 0x000C
#define MK_C_M 0x000D
#define MK_C_N 0x000E
#define MK_C_O 0x000F
#define MK_C_P 0x0010
#define MK_C_Q 0x0011
#define MK_C_R 0x0012
#define MK_C_S 0x0013
#define MK_C_T 0x0014
#define MK_C_U 0x0015
#define MK_C_V 0x0016
#define MK_C_W 0x0017
#define MK_C_X 0x0018
#define MK_C_Y 0x0019
#define MK_C_Z 0x001A
// alias for Ctrl + normal key
#define MK_BACKSPACE 0x0008
#define MK_TAB 0x0009
#define MK_ENTER 0x000D
#define MK_ESCAPE 0x001B
/* visible key */
#define MK_SPACE 0x0020 //
#define MK_MINUS 0x002D // -
#define MK_PLUS 0x002B // +
#define MK_DOT 0x002E // .
#define MK_EQUAL 0x003D // =
#define MK_0 0x0030 // 0
#define MK_1 0x0031 // 1
#define MK_2 0x0032 // 2
#define MK_3 0x0033 // 3
#define MK_4 0x0034 // 4
#define MK_5 0x0035 // 5
#define MK_6 0x0036 // 6
#define MK_7 0x0037 // 7
#define MK_8 0x0038 // 8
#define MK_9 0x0039 // 9
#define MK_A 0x0041 // A
#define MK_B 0x0042 // B
#define MK_C 0x0043 // C
#define MK_D 0x0044 // D
#define MK_E 0x0045 // E
#define MK_F 0x0046 // F
#define MK_G 0x0047 // G
#define MK_H 0x0048 // H
#define MK_I 0x0049 // I
#define MK_J 0x004A // J
#define MK_K 0x004B // K
#define MK_L 0x004C // L
#define MK_M 0x004D // M
#define MK_N 0x004E // N
#define MK_O 0x004F // O
#define MK_P 0x0050 // P
#define MK_Q 0x0051 // Q
#define MK_R 0x0052 // R
#define MK_S 0x0053 // S
#define MK_T 0x0054 // T
#define MK_U 0x0055 // U
#define MK_V 0x0056 // V
#define MK_W 0x0057 // W
#define MK_X 0x0058 // X
#define MK_Y 0x0059 // Y
#define MK_Z 0x005A // Z
#define MK_a 0x0061 // a
#define MK_b 0x0062 // b
#define MK_c 0x0063 // c
#define MK_d 0x0064 // d
#define MK_e 0x0065 // e
#define MK_f 0x0066 // f
#define MK_g 0x0067 // g
#define MK_h 0x0068 // h
#define MK_i 0x0069 // i
#define MK_j 0x006A // j
#define MK_k 0x006B // k
#define MK_l 0x006C // l
#define MK_m 0x006D // m
#define MK_n 0x006E // n
#define MK_o 0x006F // o
#define MK_p 0x0070 // p
#define MK_q 0x0071 // q
#define MK_r 0x0072 // r
#define MK_s 0x0073 // s
#define MK_t 0x0074 // t
#define MK_u 0x0075 // u
#define MK_v 0x0076 // v
#define MK_w 0x0077 // w
#define MK_x 0x0078 // x
#define MK_y 0x0079 // y
#define MK_z 0x007A // z
//
// EXTENDED KEY
//
//
// The followings are special key definitions
// their ascii code(low byte) is 0x00 or
// 0xE0(this happens in 101/102 keyboard)
// and will be ignored.
// so we should check its scan code(high byte)
//
#define MK_BACKTAB 0x0F00
/* pad key */
#define MK_HOME 0x4700
#define MK_UP 0x4800
#define MK_PGUP 0x4900
#define MK_LEFT 0x4B00
#define MK_RIGHT 0x4D00
#define MK_END 0x4F00
#define MK_DOWN 0x5000
#define MK_PGDN 0x5100
#define MK_INSERT 0x5200
#define MK_DELETE 0x5300
/* Ctrl + pad key */
#define MK_C_PGUP 0x8400
#define MK_C_PGDN 0x7600
#define MK_C_HOME 0x7700
#define MK_C_END 0x7500
/* function key */
#define MK_F1 0x3B00
#define MK_F2 0x3C00
#define MK_F3 0x3D00
#define MK_F4 0x3E00
#define MK_F5 0x3F00
#define MK_F6 0x4000
#define MK_F7 0x4100
#define MK_F8 0x4200
#define MK_F9 0x4300
#define MK_F10 0x4400
#define MK_F11 0x8500
#define MK_F12 0x8600
/* Shift + function key */
#define MK_S_F1 0x5400
#define MK_S_F2 0x5500
#define MK_S_F3 0x5600
#define MK_S_F4 0x5700
#define MK_S_F5 0x5800
#define MK_S_F6 0x5900
#define MK_S_F7 0x5A00
#define MK_S_F8 0x5B00
#define MK_S_F9 0x5C00
#define MK_S_F10 0x5D00
#define MK_S_F11 0x8700
#define MK_S_F12 0x8800
/* Ctrl + function key */
#define MK_C_F1 0x5E00
#define MK_C_F2 0x5F00
#define MK_C_F3 0x6000
#define MK_C_F4 0x6100
#define MK_C_F5 0x6200
#define MK_C_F6 0x6300
#define MK_C_F7 0x6400
#define MK_C_F8 0x6500
#define MK_C_F9 0x6600
#define MK_C_F10 0x6700
#define MK_C_F11 0x8900
#define MK_C_F12 0x8A00
/* Alt + function key */
#define MK_A_F1 0x6800
#define MK_A_F2 0x6900
#define MK_A_F3 0x6A00
#define MK_A_F4 0x6B00
#define MK_A_F5 0x6C00
#define MK_A_F6 0x6D00
#define MK_A_F7 0x6E00
#define MK_A_F8 0x6F00
#define MK_A_F9 0x7000
#define MK_A_F10 0x7100
#define MK_A_F11 0x8B00
#define MK_A_F12 0x8C00
/* Alt + 0 - 9 */
#define MK_A_0 0x8100
#define MK_A_1 0x7800
#define MK_A_2 0x7900
#define MK_A_3 0x7A00
#define MK_A_4 0x7B00
#define MK_A_5 0x7C00
#define MK_A_6 0x7D00
#define MK_A_7 0x7E00
#define MK_A_8 0x7F00
#define MK_A_9 0x8000
/* Alt + normal key */
#define MK_A_A 0x1E00
#define MK_A_B 0x3000
#define MK_A_C 0x2E00
#define MK_A_D 0x2000
#define MK_A_E 0x1200
#define MK_A_F 0x2100
#define MK_A_G 0x2200
#define MK_A_H 0x2300
#define MK_A_I 0x1700
#define MK_A_J 0x2400
#define MK_A_K 0x2500
#define MK_A_L 0x2600
#define MK_A_M 0x3200
#define MK_A_N 0x3100
#define MK_A_O 0x1800
#define MK_A_P 0x1900
#define MK_A_Q 0x1000
#define MK_A_R 0x1300
#define MK_A_S 0x1F00
#define MK_A_T 0x1400
#define MK_A_U 0x1600
#define MK_A_V 0x2F00
#define MK_A_W 0x1100
#define MK_A_X 0x2D00
#define MK_A_Y 0x1500
#define MK_A_Z 0x2C00
/*--------------------- Export Types ------------------------------*/
/*--------------------- Export Macros ------------------------------*/
/*--------------------- Export Classes ----------------------------*/
/*--------------------- Export Variables --------------------------*/
/*--------------------- Export Functions --------------------------*/
#endif // __KEY_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -