📄 ps2-key.asm
字号:
*****************************************************************************
* Copyright (c) Motorola 1998 *
* File Name: PS2-KEY.ASM *
* *
* Description: Keyboard matrix definition for PS/2 mode *
* Function to return key number at location (row,column) *
* *
* Assembler: CASM08Z (P&E Microcomputer Systems Inc) *
* Version: 3.16 *
* *
* Current Revision: 0.1 *
* Current Revision Release Date: 1998.05.11 by Derek Lau *
* *
* Updated History *
* Rev YYYY.MM.DD Author Description of Change *
* --- ----------- ------ --------------------- *
* 0.0 1998.05.11 Derek Lau orginial release *
*****************************************************************************
* 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 *
*****************************************************************************
* ====== Table of Key Numbers ============================================
* PS/2 PC-AT Keyboard(Set 2)
PKEY_TIL equ 01 ; ` / ~
PKEY_1 equ 02 ; 1 / !
PKEY_2 equ 03 ; 2 / @
PKEY_3 equ 04 ; 3 / #
PKEY_4 equ 05 ; 4 / $
PKEY_5 equ 06 ; 5 / %
PKEY_6 equ 07 ; 6 / ^
PKEY_7 equ 08 ; 7 / &
PKEY_8 equ 09 ; 8 / *
PKEY_9 equ 10 ; 9 / (
* ------------------------------------------------------------------------
PKEY_0 equ 11 ; 0 / )
PKEY_MIS equ 12 ; - / _
PKEY_EQU equ 13 ; = / +
PKEY_KAN3 equ 14 ; Kanji key 3 (Yen)
*
PKEY_BSP equ 15 ; <backspace>
PKEY_TAB equ 16 ; <tab>
PKEY_q equ 17 ; q / Q
PKEY_w equ 18 ; w / W
PKEY_e equ 19 ; e / E
PKEY_r equ 20 ; r / R
* ------------------------------------------------------------------------
PKEY_t equ 21 ; t / T
PKEY_y equ 22 ; y / Y
PKEY_u equ 23 ; u / U
PKEY_i equ 24 ; i / I
PKEY_o equ 25 ; o / O
PKEY_p equ 26 ; p / P
PKEY_OQO equ 27 ; [ / {
PKEY_EQO equ 28 ; ] / }
PKEY_BSL equ 29 ; \ / |
PKEY_CLK equ 30 ; <CAPS lock>
* ------------------------------------------------------------------------
PKEY_a equ 31 ; a / A
PKEY_s equ 32 ; s / S
PKEY_d equ 33 ; d / D
PKEY_f equ 34 ; f / F
PKEY_g equ 35 ; g / G
PKEY_h equ 36 ; h / H
PKEY_j equ 37 ; j / J
PKEY_k equ 38 ; k / K
PKEY_l equ 39 ; l / L
PKEY_COL equ 40 ; ; / :
* ------------------------------------------------------------------------
PKEY_CC equ 41 ; ' / "
PKEY_NUP equ 42 ; EURO KEY 1 (next to Enter key)
*
PKEY_RTN equ 43 ; <ENTER>
PKEY_LSFT equ 44 ; <left shift>
PKEY_NBS equ 45 ; EURO KEY 2 (between L-sft & Z)
*
PKEY_z equ 46 ; z / Z
PKEY_x equ 47 ; x / X
PKEY_c equ 48 ; c / C
PKEY_v equ 49 ; v / V
PKEY_b equ 50 ; b / B
* ------------------------------------------------------------------------
PKEY_n equ 51 ; n / N
PKEY_m equ 52 ; m / M
PKEY_CMA equ 53 ; , / <
PKEY_DOT equ 54 ; . / >
PKEY_SL equ 55 ; / / ?
PKEY_KAN1 equ 56 ; Kanji key 1 (Ro)
*
PKEY_RSFT equ 57 ; <right shift>
PKEY_LCTL equ 58 ; <left ctrl>
*
PKEY_LALT equ 60 ; <left alt>
* ------------------------------------------------------------------------
PKEY_SPC equ 61 ; <space bar>
PKEY_RALT equ 62 ; <right alt>
PKEY_RCTL equ 64 ; <right ctrl>
* ------------------------------------------------------------------------
PKEY_INS equ 75 ; <insert>
PKEY_DEL equ 76 ; <delete>
*
PKEY_LGUI equ 78 ; <left GUI> [Win95]
PKEY_LFT equ 79 ; <left arrow>
PKEY_HME equ 80 ; <home>
* ------------------------------------------------------------------------
PKEY_END equ 81 ; <end>
*
PKEY_UP equ 83 ; <up arrow>
PKEY_DWN equ 84 ; <down arrow>
PKEY_PUP equ 85 ; <page up>
PKEY_PDN equ 86 ; <page down>
PKEY_RGUI equ 87 ; <right GUI> [Win98]
PKEY_APP equ 88 ; <application> [Win98]
PKEY_RGT equ 89 ; <right arrow>
PKEY_NLK equ 90 ; <NUM lock>
* ------------------------------------------------------------------------
PKEY_N7 equ 91 ; 7 / <home> [num pad]
PKEY_N4 equ 92 ; 4 / <left> [num pad]
PKEY_N1 equ 93 ; 1 / <end> [num pad]
*
PKEY_NSL equ 95 ; / [num pad]
PKEY_N8 equ 96 ; 8 / <up> [num pad]
PKEY_N5 equ 97 ; 5 [num pad]
PKEY_N2 equ 98 ; 2 / <down> [num pad]
PKEY_N0 equ 99 ; 0 / <ins> [num pad]
PKEY_NMU equ 100 ; * [num pad]
* ------------------------------------------------------------------------
PKEY_N9 equ 101 ; 9 / <PgUp> [num pad]
PKEY_N6 equ 102 ; 6 / <right> [num pad]
PKEY_N3 equ 103 ; 3 / <PgDn> [num pad]
PKEY_NDT equ 104 ; . [num pad]
PKEY_NMI equ 105 ; - [num pad]
PKEY_NPL equ 106 ; + [num pad]
PKEY_NCMA equ 107 ; NumPad Brazilian key
*
PKEY_NET equ 108 ; <enter> [num pad]
*
PKEY_ESC equ 110 ; <esc>
* ------------------------------------------------------------------------
*
PKEY_F1 equ 112 ; <F1>
PKEY_F2 equ 113 ; <F2>
PKEY_F3 equ 114 ; <F3>
PKEY_F4 equ 115 ; <F4>
PKEY_F5 equ 116 ; <F5>
PKEY_F6 equ 117 ; <F6>
PKEY_F7 equ 118 ; <F7>
PKEY_F8 equ 119 ; <F8>
PKEY_F9 equ 120 ; <F9>
* ------------------------------------------------------------------------
PKEY_F10 equ 121 ; <F10>
PKEY_F11 equ 122 ; <F11>
PKEY_F12 equ 123 ; <F12>
PKEY_PSC equ 124 ; <print screen>
PKEY_SLK equ 125 ; <SCROLL lock>
PKEY_PSE equ 126 ; <pause>
PS2KEY_WKE equ 127 ; WIN98 (scancode may not be right)
PS2KEY_PWR equ 128 ; WIN98 (scancode may not be right)
PS2KEY_SLP equ 129 ; WIN98 (scancode may not be right)
*
PKEY_FN equ 130 ; Function Key (scan code ???)
*
PKEY_KAN5 equ 131 ; Kanji key 5 (Muhenkan)
PKEY_KAN4 equ 132 ; Kanji key 4 (Henkan)
PKEY_KAN2 equ 133 ; Kanji key 2 (Katakana/Hitagana)
PKEY_MUTE equ 134 ; Speaker Mute
PKEY_VLUP equ 135 ; Speaker Volume Up
PKEY_VLDN equ 136 ; Speaker Volume Down
PKEY_MAIL equ 137 ; E-Mail
PKEY_CALC equ 138 ; Calculator
PKEY_MYPC equ 139 ; My Computer
PKEY_WFND equ 140 ; WWW Search
PKEY_WHME equ 141 ; WWW Home
PKEY_WBCK equ 142 ; WWW Back
PKEY_WFRD equ 143 ; WWW Forward
PKEY_WSTP equ 144 ; WWW Stop
PKEY_WRFH equ 145 ; WWW Refresh
PKEY_WFVR equ 146 ; WWW Favorite
PKEY_NXTR equ 147 ; Media Next Track
PKEY_PRTR equ 148 ; Media Previous Track
PKEY_STOP equ 149 ; Media Stop
PKEY_PLAY equ 150 ; Media Play / Pause
PKEY_MEDIA equ 151 ; Media Select
PS2KEY_NA equ $00
PKEY_NA equ $00
.PAGE
* ====== Key Matrix Map ==================================================
* JB8 PCB version 0.1 and 0.2
* - for Win98 keyboard[Model# K280W]
$if KeyType0
PKEY_TABLE equ *
*
db PKEY_END,PKEY_HME,PKEY_LFT,CKEY_NA ; col 10 | row 0-3
db PKEY_UP,PKEY_NET,CKEY_NA,PKEY_NPL ; PTB0 | row 4-7
*
db PKEY_9,PKEY_F8,PKEY_APP,PKEY_DOT ; col 11 | row 0-3
db CKEY_NA,PKEY_L,PKEY_F7,PKEY_O ; PTB1 | row 4-7
*
db PKEY_8,PKEY_EQU,CKEY_NA,PKEY_CMA ; col 12 | row 0-3
db PKEY_F6,PKEY_K,PKEY_EQO,PKEY_I ; PTB2 | row 4-7
*
db PKEY_7,PKEY_6,PKEY_N,PKEY_M ; col 13 | row 0-3
db PKEY_H,PKEY_J,PKEY_Y,PKEY_U ; PTB3 | row 4-7
*
db PKEY_4,PKEY_5,PKEY_B,PKEY_V ; col 14 | row 0-3
db PKEY_G,PKEY_F,PKEY_T,PKEY_R ; PTB4 | row 4-7
*
db PKEY_3,PKEY_F2,CKEY_NA,PKEY_C ; col 15 | row 0-3
db PKEY_F4,PKEY_D,PKEY_F3,PKEY_E ; PTB5 | row 4-7
*
db PKEY_2,PKEY_F1,CKEY_NA,PKEY_X ; col 16 | row 0-3
db CKEY_NA,PKEY_S,PKEY_CLK,PKEY_W ; PTB6 | row 4-7
*
db PKEY_1,PKEY_TIL,CKEY_NA,PKEY_Z ; col 17 | row 0-3
db PKEY_ESC,PKEY_A,PKEY_TAB,PKEY_Q ; PTB7 | row 4-7
*
db PKEY_PDN,PKEY_PUP,PKEY_NMI,PKEY_NMU ; col 9 | row 0-3
db PKEY_NDT,PKEY_N3,PKEY_N6,PKEY_N9 ; PTC0 | row 4-7
*
db PS2KEY_SLP,PKEY_INS,PKEY_RGT,PKEY_NSL ; col 8 | row 0-3
db PKEY_N0,PKEY_N2,PKEY_N5,PKEY_N8 ; PTC1 | row 4-7
*
db PS2KEY_PWR,PKEY_DEL,PKEY_DWN,PKEY_NLK ; col 7 | row 0-3
db PKEY_SPC,PKEY_N1,PKEY_N4,PKEY_N7 ; PTC2 | row 4-7
*
db CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA ; col 6 | row 0-3
db CKEY_NA,PKEY_RSFT,PKEY_LSFT,PS2KEY_WKE; PTC3 | row 4-7
*
db PKEY_PSC,CKEY_NA,PKEY_RALT,CKEY_NA ; col 3 | row 0-3
db PKEY_LALT,CKEY_NA,CKEY_NA,PKEY_SLK ; PTC4 | row 4-7
*
db PKEY_F5,PKEY_LCTL,CKEY_NA,PKEY_RCTL ; col 2 | row 0-3
db CKEY_NA,CKEY_NA,CKEY_NA,PKEY_PSE ; PTC5 | row 4-7
*
db CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA ; col 1 | row 0-3
db CKEY_NA,CKEY_NA,PKEY_LGUI,CKEY_NA ; PTC6 | row 4-7
*
db CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA ; col 0 | row 0-3
db CKEY_NA,PKEY_RGUI,CKEY_NA,CKEY_NA ; PTC7 | row 4-7
*
db PKEY_0,PKEY_MIS,PKEY_SL,CKEY_NA ; col 4 | row 0-3
db PKEY_CC,PKEY_COL,PKEY_OQO,PKEY_P ; PTE0 | row 4-7
*
db PKEY_F10,PKEY_F9,PKEY_F12,PKEY_RTN ; col 5 | row 0-3
db PKEY_F11,PKEY_BSL,PKEY_BSP,CKEY_NA ; PTE2 | row 4-7
$endif
$if KeyType1
PKEY_TABLE equ *
*
* Solid Year ACK-280 key matrix (with Multimedia Keys)
*
db PKEY_j,PKEY_k,PKEY_l,PKEY_COL ; | row 0-3 |
db PKEY_RTN,PKEY_m,PKEY_DOT,PKEY_SL ; PTB0 | row 4-7 |
*
db PKEY_N7,PKEY_N8,PKEY_N9,PKEY_NMU ; | row 0-3
db PKEY_N4,PKEY_N5,PKEY_N6,PKEY_NMI ; PTB1 | row 4-7
*
db PKEY_N1,PKEY_N2,PKEY_N3,PKEY_NPL ; | row 0-3
db PKEY_NET,PKEY_N0,PKEY_NDT,PKEY_NSL ; PTB2 | row 4-7
*
db PKEY_LFT,PKEY_UP,PKEY_DWN,PKEY_RGT ; | row 0-3)
db PKEY_HME,PKEY_PUP,PKEY_PDN,PKEY_END ; PTB3 | row 4-7
*
db PKEY_LCTL,PKEY_NA,PKEY_NA,PKEY_NA ; | row 0-3)
db PKEY_RCTL,PS2kEY_PWR,PS2KEY_SLP,PS2KEY_WKE ; PTB4 | row 4-7
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -