📄 usb-key.asm
字号:
SKEY_15 equ $D7 ;
*
*
*
KEY_LCTL equ $E0 ; <left ctrl>
KEY_LSFT equ $E1 ; <left shift>
KEY_LALT equ $E2 ; <left alt>
KEY_LGUI equ $E3 ; <left GUI>
KEY_RCTL equ $E4 ; <right ctrl>
KEY_RSFT equ $E5 ; <right shift>
KEY_RALT equ $E6 ; <right alt>
KEY_RGUI equ $E7 ; <right GUI>
*
* ------------------------------------------------------------
* Usage code $E8 to $FF are reserved
* ------------------------------------------------------------
*
KEY_H0 equ $E8 ; H0 - HH23 are reported thru
KEY_H1 equ $E9 ; I/F #1 (Endpoint 2)
KEY_H2 equ $EA
KEY_H3 equ $EB
KEY_H4 equ $EC
KEY_H5 equ $ED
KEY_H6 equ $EE
KEY_H7 equ $EF
KEY_H8 equ $F0
KEY_H9 equ $F1
KEY_H10 equ $F2
KEY_H11 equ $F3
KEY_H12 equ $F4
KEY_H13 equ $F5
KEY_H14 equ $F6
KEY_H15 equ $F7
KEY_H16 equ $F8
KEY_H17 equ $F9
KEY_H18 equ $FA
KEY_H19 equ $FB
KEY_H20 equ $FC
KEY_H21 equ $FD
KEY_H22 equ $FE
KEY_H23 equ $FF
*
*
* --- Key Codes for internal use only ------------------------------------
* (not reported as USB usage index)
*
CKEY_NA equ $00 ; <NULL> - no key
.PAGE
* ====== Key Matrix Table(Type 0) ========================================
* - for Win98 keyboard[Model# K280W]
* "POWER" key at
* "SLEEP" key at
* "WAKE" key at (col_10,row_7)
$if KeyType0
KEY_TABLE:
*
db KEY_END,KEY_HME,KEY_LFT,CKEY_NA ; col 10 | row 0-3
db KEY_UP,KEY_NET,CKEY_NA,KEY_NPL ; PTB0 | row 4-7
*
db KEY_9,KEY_F8,KEY_APP,KEY_DOT ; col 11 | row 0-3
db CKEY_NA,KEY_L,KEY_F7,KEY_O ; PTB1 | row 4-7
*
db KEY_8,KEY_EQU,CKEY_NA,KEY_CMA ; col 12 | row 0-3
db KEY_F6,KEY_K,KEY_QEO,KEY_I ; PTB2 | row 4-7
*
db KEY_7,KEY_6,KEY_N,KEY_M ; col 13 | row 0-3
db KEY_H,KEY_J,KEY_Y,KEY_U ; PTB3 | row 4-7
*
db KEY_4,KEY_5,KEY_B,KEY_V ; col 14 | row 0-3
db KEY_G,KEY_F,KEY_T,KEY_R ; PTB4 | row 4-7
*
db KEY_3,KEY_F2,CKEY_NA,KEY_C ; col 15 | row 0-3
db KEY_F4,KEY_D,KEY_F3,KEY_E ; PTB5 | row 4-7
*
db KEY_2,KEY_F1,CKEY_NA,KEY_X ; col 16 | row 0-3
db CKEY_NA,KEY_S,KEY_CLK,KEY_W ; PTB6 | row 4-7
*
db KEY_1,KEY_TIL,CKEY_NA,KEY_Z ; col 17 | row 0-3
db KEY_ESC,KEY_A,KEY_TAB,KEY_Q ; PTB7 | row 4-7
*
db KEY_PDN,KEY_PUP,KEY_NMI,KEY_NMU ; col 9 | row 0-3
db KEY_NDT,KEY_N3,KEY_N6,KEY_N9 ; PTC0 | row 4-7
*
db PKEY_SLP,KEY_INS,KEY_RGT,KEY_NSL ; col 8 | row 0-3
db KEY_N0,KEY_N2,KEY_N5,KEY_N8 ; PTC1 | row 4-7
*
db PKEY_PWR,KEY_DEL,KEY_DWN,KEY_NLK ; col 7 | row 0-3
db KEY_SPC,KEY_N1,KEY_N4,KEY_N7 ; PTC2 | row 4-7
*
db CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA ; col 6 | row 0-3
db CKEY_NA,KEY_RSFT,KEY_LSFT,PKEY_WKE ; PTC3 | row 4-7
*
db KEY_PSC,CKEY_NA,KEY_RALT,CKEY_NA ; col 3 | row 0-3
db KEY_LALT,CKEY_NA,CKEY_NA,KEY_SLK ; PTC4 | row 4-7
*
db KEY_F5,KEY_LCTL,CKEY_NA,KEY_RCTL ; col 2 | row 0-3
db CKEY_NA,CKEY_NA,CKEY_NA,KEY_PSE ; PTC5 | row 4-7
*
db CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA ; col 1 | row 0-3
db CKEY_NA,CKEY_NA,KEY_LGUI,CKEY_NA ; PTC6 | row 4-7
*
db CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA ; col 0 | row 0-3
db CKEY_NA,KEY_RGUI,CKEY_NA,CKEY_NA ; PTC7 | row 4-7
*
db KEY_0,KEY_MIS,KEY_SL,CKEY_NA ; col 4 | row 0-3
db KEY_CC,KEY_COL,KEY_OQO,KEY_P ; PTE0 | row 4-7
*
db KEY_F10,KEY_F9,KEY_F12,KEY_RTN ; col 5 | row 0-3
db KEY_F11,KEY_BSL,KEY_BSP,CKEY_NA ; PTE2 | row 4-7
*
SKEY_TABLE_OFF equ *
db KEY_7,KEY_8,KEY_9,KEY_0 ; SKEY_0, 1, 2, 3
db KEY_u,KEY_i,KEY_o,KEY_p ; 4, 5, 6, 7
*
db KEY_j,KEY_k,KEY_l,KEY_COL ; SKEY_8, 9, 10, 11
db KEY_RTN,KEY_m,KEY_DOT,KEY_LCTL ; 12, 13, 14, 15
*
SKEY_TABLE_ON equ *
db KEY_N7,KEY_N8,KEY_N9,KEY_NMU ; SKEY_0, 1, 2, 3
db KEY_N4,KEY_N5,KEY_N6,KEY_NMI ; 4, 5, 6, 7
*
db KEY_N1,KEY_N2,KEY_N3,KEY_NPL ; SKEY_8, 9, 10, 11
db KEY_NET,KEY_N0,KEY_NDT,KEY_RCTL ; 12, 13, 14, 15
.PAGE
$endif
*
*
*
$if KeyType1
KEY_TABLE:
* ====== Key Matrix Map ==================================================
* (for S280 Multimedia keyboard)
*
*
db SKEY_8,SKEY_9,SKEY_10,SKEY_11 ; row 0-3
db SKEY_12,SKEY_13,SKEY_14,KEY_SL ; PTB0 | row 4-7
*
db KEY_N7,KEY_N8,KEY_N9,KEY_NMU ; | row 0-3
db KEY_N4,KEY_N5,KEY_N6,KEY_NMI ; PTB1 | row 4-7
*
db KEY_N1,KEY_N2,KEY_N3,KEY_NPL ; | row 0-3
db KEY_NET,KEY_N0,KEY_NDT,KEY_NSL ; PTB2 | row 4-7
*
db KEY_LFT,KEY_UP,KEY_DWN,KEY_RGT ; | row 0-3)
db KEY_HME,KEY_PUP,KEY_PDN,KEY_END ; PTB3 | row 4-7
*
db SKEY_15,CKEY_NA,CKEY_NA,CKEY_NA ; | row 0-3)
db KEY_RCTL,PKEY_PWR,PKEY_SLP,PKEY_WKE ; PTB4 | row 4-7
*
db KEY_H7,KEY_H0,KEY_H6,KEY_H1 ; | row 0-3
db KEY_H4,KEY_LALT,KEY_RALT,KEY_Kanji5 ; PTB5 | row 4-7
*
db KEY_H5,KEY_H8,KEY_LSFT,KEY_RSFT ; | row 0-3
db KEY_H23,KEY_000,KEY_LANG2,KEY_Kanji4 ; PTB6 | row 4-7
*
db KEY_H2,KEY_LGUI,KEY_H9,KEY_H18 ; | row 0-3
db KEY_H10,KEY_H11,KEY_LANG1,KEY_Kanji2 ; PTB7 | row 4-7
*
db SKEY_0,SKEY_1,SKEY_2,SKEY_3 ; | row 0-3
db SKEY_4,SKEY_5,SKEY_6,SKEY_7 ; PTC0 | row 4-7
*
db KEY_LFT,KEY_UP,KEY_DWN,KEY_RGT ; | row 0-3
db KEY_NBS,KEY_Kanji1,KEY_NCMA,KEY_APP ; PTC1 | row 4-7
*
db KEY_Kanji3,KEY_INS,KEY_DEL,KEY_NLK ; | row 0-3
db KEY_BSL,KEY_PSC,KEY_SLK,KEY_PSE ; PTC2 | row 4-7
*
db KEY_F4,KEY_F5,KEY_F6,KEY_F7 ; | row 0-3
db KEY_F8,KEY_F10,KEY_F11,KEY_F12 ; PTC3 | row 4-7
*
db KEY_z,KEY_x,KEY_c,KEY_v ; | row 0-3
db KEY_a,KEY_s,KEY_d,KEY_f ; PTC4 | row 4-7
*
db KEY_q,KEY_w,KEY_e,KEY_r ; | row 0-3
db KEY_1,KEY_2,KEY_3,KEY_4 ; PTC5 | row 4-7
*
db KEY_ESC,KEY_F1,KEY_F2,KEY_F3 ; | row 0-3
db KEY_TIL,KEY_TAB,KEY_SPC,KEY_CMA ; PTC6 | row 4-7
db KEY_FN,KEY_H3,PKEY_SLP,KEY_H8 ; | row 0-3
db KEY_CLK,CKEY_NA,CKEY_NA,KEY_RGUI ; PTC7 | row 4-7
*
db KEY_5,KEY_t,KEY_g,KEY_b ; | row 0-3
db KEY_6,KEY_y,KEY_h,KEY_n ; PTE0 | row 4-7
*
db KEY_MIS,KEY_EQU,KEY_BSP,KEY_OQO ; | row 0-3
db KEY_EQO,KEY_CC,KEY_NUP,KEY_F9 ; PTE2 | row 4-7
*
*
.PAGE
* ====== Alternated Key Matrix Map (for FN key) ==========================
*
*
SKEY_TABLE_OFF equ *
db KEY_7,KEY_8,KEY_9,KEY_0 ; SKEY_0, 1, 2, 3
db KEY_u,KEY_i,KEY_o,KEY_p ; 4, 5, 6, 7
*
db KEY_j,KEY_k,KEY_l,KEY_COL ; SKEY_8, 9, 10, 11
db KEY_RTN,KEY_m,KEY_DOT,KEY_LCTL ; 12, 13, 14, 15
*
SKEY_TABLE_ON equ *
db KEY_N7,KEY_N8,KEY_N9,KEY_NMU ; SKEY_0, 1, 2, 3
db KEY_N4,KEY_N5,KEY_N6,KEY_NMI ; 4, 5, 6, 7
*
db KEY_N1,KEY_N2,KEY_N3,KEY_NPL ; SKEY_8, 9, 10, 11
db KEY_NET,KEY_N0,KEY_NDT,KEY_RCTL ; 12, 13, 14, 15
*
$endif
* ====== Key Matrix Table(Type 2) ========================================
* - for Win98 keyboard[Model# K280W]
* - F1-F12 replaced with Multimedia Keys
* - H1, H0, H4, H2, H5, H7, H6, H19, H20, H21, H22, H9
* F1 = Media Previous Track H1
* F2 = Media Next Track H0
* F3 = Media Play/Pause H4
* F4 = Media Stop H2
* F5 = Speaker Mute H5
* F6 = Speaker Volume Down H6
* F7 = Speaker Volume Up H7
* F8 = AC Back H19
* F9 = AC Forward H20
* F10 = AC STOPE H21
* F11 = AC Reflesh H22
* F12 = Email H9
$if KeyType2
KEY_TABLE:
*
db KEY_END,KEY_HME,KEY_LFT,CKEY_NA ; col 10 | row 0-3
db KEY_UP,KEY_NET,CKEY_NA,KEY_NPL ; PTB0 | row 4-7
*
db KEY_9,KEY_H19,KEY_APP,KEY_DOT ; col 11 | row 0-3
db CKEY_NA,KEY_L,KEY_H6,KEY_O ; PTB1 | row 4-7
*
db KEY_8,KEY_EQU,CKEY_NA,KEY_CMA ; col 12 | row 0-3
db KEY_H7,KEY_K,KEY_EQO,KEY_I ; PTB2 | row 4-7
*
db KEY_7,KEY_6,KEY_N,KEY_M ; col 13 | row 0-3
db KEY_H,KEY_J,KEY_Y,KEY_U ; PTB3 | row 4-7
*
db KEY_4,KEY_5,KEY_B,KEY_V ; col 14 | row 0-3
db KEY_G,KEY_F,KEY_T,KEY_R ; PTB4 | row 4-7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -