/* We are a little inconstant here with our naming convertions in this file. We use KEY, KEYTAB, and K everywhere when we should probably use EVENT, EVENTTAB, and E. The event table has entries for all keys, mouse events, and some other Visual SlickEdit events (ON_??? events). */ #ifndef VSKEYS_H #define VSKEYS_H #define VS_NUMKEYS (VS_KEYTAB_MAXASCII+VS_KEYTAB_MAXEXT) #define VS_NULL_KEY 0xffff #define VS_NSPECIAL_KEYS 19 /* Number of special keys. */ #define VS_SK_ENTER 0 #define VS_SK_TAB 1 #define VS_SK_ESC 2 #define VS_SK_BACKSPACE 3 /* BA_SK_KSPACE+1 is the max for A-C-Special_Key */ #define VS_SK_PAD_STAR 4 #define VS_SK_PAD_PLUS 5 #define VS_SK_PAD_MINUS 6 #define VS_SK_HOME 7 #define VS_SK_END 8 #define VS_SK_LEFT 9 #define VS_SK_RIGHT 10 #define VS_SK_UP 11 #define VS_SK_DOWN 12 #define VS_SK_PAD_5 13 #define VS_SK_PGUP 14 #define VS_SK_PGDN 15 #define VS_SK_DEL 16 #define VS_SK_INS 17 #define VS_SK_PAD_SLASH 18 #define VS_K_S_SPACE 0x10000 #define VS_K_CTRL VS_K_C_CTRL #define VS_K_SHIFT VS_K_A_ALT #define VS_K_C_CTRL (VS_K_S_SPACE+1) #define VS_K_A_ALT (VS_K_S_SPACE+2) #define VS_K_C_DOT (VS_K_S_SPACE+3) #define VS_K_C_COMMA (VS_K_S_SPACE+4) #define VS_K_C_EQUAL (VS_K_S_SPACE+5) #define VS_K_C_SLASH (VS_K_S_SPACE+6) #define VS_K_C_S_COMMA (VS_K_S_SPACE+7) #define VS_K_C_S_DOT (VS_K_S_SPACE+8) #define VS_K_C_S_SPACE (VS_K_S_SPACE+9) #define VS_K_CONTEXT (VS_K_S_SPACE+10) #define VS_K_C_S_BACKSLASH (VS_K_S_SPACE+11) #define VS_K_C_BREAK (VS_K_S_SPACE+12) //#define VS_K_C_BREAK (VS_K_S_SPACE+13) //#define VS_K_C_BREAK (VS_K_S_SPACE+14) //#define VS_K_C_BREAK (VS_K_S_SPACE+15) //#define VS_K_C_BREAK (VS_K_S_SPACE+16) #define VS_KEYTAB_MAXASCII 129 #define VS_KEYTAB_MAXEXT (VS_K_ON_LAST-VS_K_S_SPACE+1) /* VS_OFFSET_ALT_KEYS+ 0..127 (ASCII alt keys like Alt+'A' and Alt+'=') */ #define VS_OFFSET_ALT_KEYS (VS_K_S_SPACE+17) /* VS_OFFSET_SPECIAL_KEYS+ 0..VS_NSPECIAL_KEYS-1 Add VS_SK_??? to VS_OFFSET_SPECIAL_KEYS to get special key. */ #define VS_OFFSET_SPECIAL_KEYS (VS_OFFSET_ALT_KEYS+128) /* VS_OFFSET_A_SPECIAL_KEYS+ 0..VS_NSPECIAL_KEYS-1 Add VS_SK_??? to VS_OFFSET_A_SPECIAL_KEYS to get Alt+special key. */ #define VS_OFFSET_A_SPECIAL_KEYS (VS_OFFSET_SPECIAL_KEYS+VS_NSPECIAL_KEYS) /* VS_OFFSET_C_SPECIAL_KEYS+ 0..VS_NSPECIAL_KEYS-1 Add VS_SK_??? to VS_OFFSET_C_SPECIAL_KEYS to get Ctrl+special key. */ #define VS_OFFSET_C_SPECIAL_KEYS (VS_OFFSET_A_SPECIAL_KEYS+VS_NSPECIAL_KEYS) /* VS_OFFSET_S_SPECIAL_KEYS+ 0..VS_NSPECIAL_KEYS-1 Add VS_SK_??? to VS_OFFSET_S_SPECIAL_KEYS to get Shift+special key. */ #define VS_OFFSET_S_SPECIAL_KEYS (VS_OFFSET_C_SPECIAL_KEYS+VS_NSPECIAL_KEYS) /* VS_OFFSET_A_C_SPECIAL_KEYS+ 0..VS_SK_BACKSPACE Add VS_SK_??? to VS_OFFSET_A_C_SPECIAL_KEYS to get Alt+Ctrl+special key. */ #define VS_OFFSET_A_C_SPECIAL_KEYS (VS_OFFSET_S_SPECIAL_KEYS+VS_NSPECIAL_KEYS) #define VS_NFKEYS 12 /* Number of functions at each function key offset. */ /* VS_OFFSET_FKEYS+0..VS_NFKEYS-1 VS_OFFSET_FKEYS+0 is F1, VS_OFFSET_FKEYS+1 is F2, etc. */ #define VS_OFFSET_FKEYS (VS_OFFSET_A_C_SPECIAL_KEYS+VS_SK_BACKSPACE+1) /* VS_OFFSET_S_FKEYS+0..VS_NFKEYS-1 VS_OFFSET_S_FKEYS+0 is Shift+F1, VS_OFFSET_S_FKEYS+1 is Shift+F2, etc. */ #define VS_OFFSET_S_FKEYS (VS_OFFSET_FKEYS+VS_NFKEYS) /* VS_OFFSET_A_FKEYS+0..VS_NFKEYS-1 VS_OFFSET_A_FKEYS+0 is Alt+F1, VS_OFFSET_A_FKEYS+1 is Alt+F2, etc. */ #define VS_OFFSET_A_FKEYS (VS_OFFSET_S_FKEYS+VS_NFKEYS) /* VS_OFFSET_C_FKEYS+0..VS_NFKEYS-1 VS_OFFSET_C_FKEYS+0 is Ctrl+F1, VS_OFFSET_C_FKEYS+1 is Ctrl+F2, etc. */ #define VS_OFFSET_C_FKEYS (VS_OFFSET_A_FKEYS+VS_NFKEYS) /* VS_OFFSET_C_S_FKEYS+0..VS_NFKEYS-1 VS_OFFSET_C_S_FKEYS+0 is Ctrl+Shift+F1, VS_OFFSET_C_S_FKEYS+1 is Ctrl+Shift+F2, etc. */ #define VS_OFFSET_C_S_FKEYS (VS_OFFSET_C_FKEYS+VS_NFKEYS) /* VS_OFFSET_C_S_AZ+0..25 VS_OFFSET_C_S_AZ+0 is Ctrl+Shift+'A', VS_OFFSET_C_S_AZ+1 is Ctrl+Shift+'Z', etc. */ #define VS_OFFSET_C_S_AZ (VS_OFFSET_C_S_FKEYS+VS_NFKEYS) /* VS_OFFSET_C_S_09+0..9 VS_OFFSET_C_S_09+0 is Ctrl+Shift+'0', VS_OFFSET_C_S_09+1 is Ctrl+Shift+'9', etc. */ #define VS_OFFSET_C_S_09 (VS_OFFSET_C_S_AZ+26) /* VS_OFFSET_C_09+0..9 VS_OFFSET_C_09+0 is Ctrl+'0', VS_OFFSET_C_09+1 is Ctrl+'9', etc. */ #define VS_OFFSET_C_09 (VS_OFFSET_C_S_09+10) #define VS_K_C_2 VS_OFFSET_C_09+2 /* VS_OFFSET_C_S_SPECIAL_KEYS+ 0..VS_NSPECIAL_KEYS-1 Add VS_SK_??? to VS_OFFSET_C_S_SPECIAL_KEYS to get Ctrl+Shift+special key. */ #define VS_OFFSET_C_S_SPECIAL_KEYS (VS_OFFSET_C_09+10) #define VS_NMEVENTS2 13 #define VS_NMEVENTS 9 #define VS_MK_LBUTTON_DOWN 0 #define VS_MK_RBUTTON_DOWN 1 #define VS_MK_MBUTTON_DOWN 2 #define VS_MK_LBUTTON_DOUBLE_CLICK 3 #define VS_MK_RBUTTON_DOUBLE_CLICK 4 #define VS_MK_MBUTTON_DOUBLE_CLICK 5 #define VS_MK_LBUTTON_TRIPLE_CLICK 6 #define VS_MK_RBUTTON_TRIPLE_CLICK 7 #define VS_MK_MBUTTON_TRIPLE_CLICK 8 #define VS_MK_LBUTTON_UP 9 #define VS_MK_RBUTTON_UP 10 #define VS_MK_MBUTTON_UP 11 #define VS_MK_MOUSE_MOVE 12 /* VS_OFFSET_MEVENTS+ 0..VS_NMEVENTS2-1 Add VS_MK_??? to VS_OFFSET_MEVENTS to get mouse event. */ #define VS_OFFSET_MEVENTS (VS_OFFSET_C_S_SPECIAL_KEYS+VS_NSPECIAL_KEYS) /* VS_OFFSET_S_MEVENTS+ 0..VS_NMEVENTS-1 Add VS_MK_??? to VS_OFFSET_MEVENTS to get Shift+mouse event. */ #define VS_OFFSET_S_MEVENTS (VS_OFFSET_MEVENTS+VS_NMEVENTS2) /* VS_OFFSET_A_MEVENTS+ 0..VS_NMEVENTS-1 Add VS_MK_??? to VS_OFFSET_A_MEVENTS to get Alt+mouse event. */ #define VS_OFFSET_A_MEVENTS (VS_OFFSET_S_MEVENTS+VS_NMEVENTS) /* VS_OFFSET_C_MEVENTS+ 0..VS_NMEVENTS-1 Add VS_MK_??? to VS_OFFSET_C_MEVENTS to get Ctrl+mouse event. */ #define VS_OFFSET_C_MEVENTS (VS_OFFSET_A_MEVENTS+VS_NMEVENTS) /* VS_OFFSET_C_S_MEVENTS+ 0..VS_NMEVENTS-1 Add VS_MK_??? to VS_OFFSET_C_S_MEVENTS to get Ctrl+Shift+mouse event. */ #define VS_OFFSET_C_S_MEVENTS (VS_OFFSET_C_MEVENTS+VS_NMEVENTS) #define vsIsMouseEvent(event) (event>=VS_OFFSET_MEVENTS && event