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

📄 usb-key.asm

📁 MC68HC608JB8的固件例程源程序.zip
💻 ASM
📖 第 1 页 / 共 3 页
字号:
*****************************************************************************
*                                         Copyright (c) Motorola 2000		*
*  File Name:	USB-KEY.ASM													*
*                        													*
*  Description:	Keyboard matrix scanner and handler in PS/2 mode			*
*																			*
*                                                                          	*
*  Assembler:	CASM08Z	(P&E Microcomputer Systems Inc)						*
*  Version:		3.16							                        	*
*																			*
*  Current Revision:	1.0													*
*  Current Revision Release Date: 2000.05.08 by Derek Lau					*
*																			*
*  Updated History															*
*   Rev		YYYY.MM.DD  Author			Description of Change				*
*	---		----------- ------			---------------------				*
*	0.0		1998.06.05	Tony Luk		orginal release						*
*   1.0		1998.08.03	Tony Luk		extended key matrix to 8 x 18		*
*	1.1		2000.05.08	Derek Lau		support multimedia key				*
*****************************************************************************
* This Program is a freeware to demonstrate the operation of Motorola		*
* Microcontroller. Motorola reserves the right to make changes without		*
* further notice to any product herein to improve reliability, function, or *
* design. Motorola does	not assume any liability arising out of the 		*
* application or use of any product, circuit, or software described herein; *
* neither does it convey any license under its patent rights nor the rights *
* of others. Motorola products are not designed, intended, or authorized 	*
* for use as components	in systems intended for surgical implant into the	*
* body, or other applications intended to support life, or for any other	*
* application in which the failure of the Motorola product could create a	*
* situation where personal injury or death may occur. Should Buyer purchase	*
* or use Motorola products for any such intended or unauthorized 			*
* application, Buyer shall indemnify and hold Motorola and its officers,	*
* employees, subsidiaries, affiliates, and distributors harmless against	*
* all claims, costs, damages, and expenses, and reasonable attorney fees	*
* arising out of, directly or indirectly, any claim of personal injury or	*
* death associated with such unintended or unauthorized use, even if such	*
* claim alleges that Motorola was negligent regarding the design or 		*
* manufacture of the part. Motorola	and the Motorola logo* are registered	*
* trademarks of Motorola Inc												*
*****************************************************************************
* Notes :
* - CASM08 assembler is NOT case sensitive
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* ====== Table of Key Codes ==============================================

* --- USB Usage Index for Keyboard/Keypad Page ---------------------------
* Reference :  Device Class Definition for Human Interface Device(HID)
*              Version 1.0 Draft #4
*              - Appendix A.3    Keyboard/Keypad Page(0x07)
Key_ERO     equ     $01         ; error roll over
Key_POSTF   equ     $02         ; POST fail
Key_EUD     equ     $03         ; error undefined
KEY_a       equ     $04         ; a / A
KEY_b       equ     $05         ; b / B
KEY_c       equ     $06         ; c / C
KEY_d       equ     $07         ; d / D
KEY_e       equ     $08         ; e / E
KEY_f       equ     $09         ; f / F
KEY_g       equ     $0A         ; g / G
KEY_h       equ     $0B         ; h / H
KEY_i       equ     $0C         ; i / I
KEY_j       equ     $0D         ; j / J
KEY_k       equ     $0E         ; k / K
KEY_l       equ     $0F         ; l / L
KEY_m       equ     $10         ; m / M
KEY_n       equ     $11         ; n / N
KEY_o       equ     $12         ; o / O
KEY_p       equ     $13         ; p / P
KEY_q       equ     $14         ; q / Q
KEY_r       equ     $15         ; r / R
KEY_s       equ     $16         ; s / S
KEY_t       equ     $17         ; t / T
KEY_u       equ     $18         ; u / U
KEY_v       equ     $19         ; v / V
KEY_w       equ     $1A         ; w / W
KEY_x       equ     $1B         ; x / X
KEY_y       equ     $1C         ; y / Y
KEY_z       equ     $1D         ; z / Z
*
KEY_1       equ     $1E         ; 1 / !
KEY_2       equ     $1F         ; 2 / @
KEY_3       equ     $20         ; 3 / #
KEY_4       equ     $21         ; 4 / $
KEY_5       equ     $22         ; 5 / %
KEY_6       equ     $23         ; 6 / ^
KEY_7       equ     $24         ; 7 / &
KEY_8       equ     $25         ; 8 / *
KEY_9       equ     $26         ; 9 / (
KEY_0       equ     $27         ; 0 / )
*
KEY_RTN     equ     $28         ; <ENTER>
KEY_ESC     equ     $29         ; <esc>
KEY_BSP     equ     $2A         ; <backspace>
KEY_TAB     equ     $2B         ; <tab>
KEY_SPC     equ     $2C         ; <space bar>
KEY_MIS     equ     $2D         ; - / _
KEY_EQU     equ     $2E         ; = / +
KEY_OQO     equ     $2F         ; [ / {
KEY_EQO     equ     $30         ; ] / }
KEY_BSL     equ     $31         ; \ / |
KEY_NUP     equ     $32         ; non-US# / ~
KEY_COL     equ     $33         ; ; / :
KEY_CC      equ     $34         ; ' / "
KEY_TIL     equ     $35         ; ` / ~
KEY_CMA     equ     $36         ; , / <
KEY_DOT     equ     $37         ; . / >
KEY_SL      equ     $38         ; / / ?
KEY_CLK     equ     $39         ; <CAPS lock>
*
KEY_F1      equ     $3A         ; <F1>
KEY_F2      equ     $3B         ; <F2>
KEY_F3      equ     $3C         ; <F3>
KEY_F4      equ     $3D         ; <F4>
KEY_F5      equ     $3E         ; <F5>
KEY_F6      equ     $3F         ; <F6>
KEY_F7      equ     $40         ; <F7>
KEY_F8      equ     $41         ; <F8>
KEY_F9      equ     $42         ; <F9>
KEY_F10     equ     $43         ; <F10>
KEY_F11     equ     $44         ; <F11>
KEY_F12     equ     $45         ; <F12>
*
KEY_PSC     equ     $46         ; <print screen>
KEY_SLK     equ     $47         ; <SCROLL lock>
KEY_PSE     equ     $48         ; <pause>
KEY_INS     equ     $49         ; <insert>
KEY_HME     equ     $4A         ; <home>
KEY_PUP     equ     $4B         ; <page up>
KEY_DEL     equ     $4C         ; <delete>
KEY_END     equ     $4D         ; <end>
KEY_PDN     equ     $4E         ; <page down>
KEY_RGT     equ     $4F         ; <right arrow>
KEY_LFT     equ     $50         ; <left arrow>
KEY_DWN     equ     $51         ; <down arrow>
KEY_UP      equ     $52         ; <up arrow>
*
KEY_NLK     equ     $53         ; <NUM lock>
KEY_NSL     equ     $54         ; keypad /
KEY_NMU     equ     $55         ; keypad *
KEY_NMI     equ     $56         ; keypad -
KEY_NPL     equ     $57         ; keypad +
KEY_NET     equ     $58         ; keypad enter
KEY_N1      equ     $59         ; keypad 1 / end
KEY_N2      equ     $5A         ; keypad 2 / down arrow
KEY_N3      equ     $5B         ; keypad 3 / page down
KEY_N4      equ     $5C         ; keypad 4 / left arrow
KEY_N5      equ     $5D         ; keypad 5
KEY_N6      equ     $5E         ; keypad 6 / right arrow
KEY_N7      equ     $5F         ; keypad 7 / home
KEY_N8      equ     $60         ; keypad 8 / up arrow
KEY_N9      equ     $61         ; keypad 9 / page up
KEY_N0      equ     $62         ; keypad 0 / insert
KEY_NDT     equ     $63         ; keypad . / delete
KEY_NBS     equ     $64         ; non-US \ / |
KEY_APP     equ     $65         ; application (Win95)
KEY_PWR     equ     $66         ; power                     [MAC/UNIX]
KEY_EQ      equ     $67         ; =                         [MAC]
KEY_F13     equ     $68         ;                           [MAC]
KEY_F14     equ     $69         ;                           [MAC]
KEY_F15     equ     $6A         ;                           [MAC]
KEY_F16     equ     $6B         ;
KEY_F17     equ     $6C         ;
KEY_F18     equ     $6D         ;
KEY_F19     equ     $6E         ;
KEY_F20     equ     $6F         ;
KEY_F21     equ     $70         ;
KEY_F22     equ     $71         ;
KEY_F23     equ     $72         ;
KEY_F24     equ     $73         ;
KEY_UEXE    equ     $74         ;                           [UNIX]
KEY_UHLP    equ     $75         ;                           [UNIX]
KEY_UMNU    equ     $76         ;                           [UNIX]
KEY_USEL    equ     $77         ;                           [UNIX]
KEY_USTP    equ     $78         ;                           [UNIX]
KEY_UAGN    equ     $79         ;                           [UNIX]
KEY_UUDO    equ     $7A         ;                           [UNIX]
KEY_UCUT    equ     $7B         ;                           [UNIX]
KEY_UCPY    equ     $7C         ;                           [UNIX]
KEY_UPTE    equ     $7D         ;                           [UNIX]
KEY_UFND    equ     $7E         ;                           [UNIX]
KEY_UMUT    equ     $7F         ; Mute key                  [UNIX]
KEY_UVUP    equ     $80         ; Volume Up                 [UNIX]
KEY_UVDN    equ     $81         ; Volume Down               [UNIX]
KEY_UCLK    equ     $82         ;                           [UNIX]
KEY_UNLK    equ     $83         ;                           [UNIX]
KEY_USLK    equ     $84         ;                           [UNIX]
*
KEY_NCMA    equ     $85         ; keypad ,
KEY_NEQU    equ     $86         ; keypad =
KEY_Kanji1  equ     $87         ; kanji1
KEY_Kanji2  equ     $88         ; kanji2
KEY_Kanji3  equ     $89         ; kanji3
KEY_Kanji4  equ     $8A         ; kanji4
KEY_Kanji5  equ     $8B         ; kanji5
KEY_Kanji6  equ     $8C         ; kanji6
KEY_Kanji7  equ     $8D         ; kanji7
KEY_Kanji8  equ     $8E         ; kanji8
KEY_Kanji9  equ     $8F         ; kanji9
KEY_LANG1   equ     $90         ; Language 1
KEY_LANG2   equ     $91         ; Language 2
KEY_LANG3   equ     $92         ; Language 3
KEY_LANG4   equ     $93         ; Language 4
KEY_LANG5   equ     $94         ; Language 5
KEY_LANG6   equ     $95         ; Language 6
KEY_LANG7   equ     $96         ; Language 7
KEY_LANG8   equ     $97         ; Language 8
KEY_LANG9   equ     $98         ; Language 9
KEY_AERSE   equ     $99         ; alternate erase
KEY_SYSREQ  equ     $9A         ; SysReq / Attention
KEY_CANCEL  equ     $9B         ; cancel
KEY_CLEAR   equ     $9C         ; clear
KEY_PRIOR   equ     $9D         ; prior
KEY_RETURN  equ     $9E         ; return
KEY_SEPTOR  equ     $9F         ; separator
KEY_OUT     equ     $A0         ; out
KEY_OPER    equ     $A1         ; oper
KEY_AGAIN   equ     $A2         ; clear / again
KEY_CRSEL   equ     $A3         ; CrSel / Props
KEY_EXSEL   equ     $A4         ; ExSel
*
* ------------------------------------------------------------
*  Usage $A5 to $DF are reserved
* ------------------------------------------------------------
*
* --- Win98 Power Control Key Codes --------------------------------------
* (in Power Control Usage Page)
PKEY_PWR    equ     $A8         ; <power down>
PKEY_SLP    equ     $A9         ; <sleep>
PKEY_WKE    equ     $AA         ; <wake up>
*
KEY_000     equ     $AB         ; REPEAT SEND 3 TIMES 0
*
PKEY_STANDBY	equ	$CB	; One key for all ACPI function
*
KEY_FN	    equ	    $AC		; FN key to alternate key function
*
* -------------------------------------------------------------
*
*                               ; FN - off       FN - on
*                               ;--------------------------
SKEY_0      equ     $C8         ;
SKEY_1      equ     $C9         ;
SKEY_2      equ     $CA         ;
SKEY_3      equ     $CB         ;
SKEY_4      equ     $CC         ;
SKEY_5      equ     $CD         ;
SKEY_6      equ     $CE         ;
SKEY_7      equ     $CF         ;
SKEY_8      equ     $D0         ;
SKEY_9      equ     $D1         ;
SKEY_10     equ     $D2         ;
SKEY_11     equ     $D3         ;
SKEY_12     equ     $D4         ;
SKEY_13     equ     $D5         ;
SKEY_14     equ     $D6         ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -