⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usb-key.asm

📁 MC68HC608JB8的固件例程源程序.zip
💻 ASM
📖 第 1 页 / 共 3 页
字号:
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 + -