📄 lh7a400_evb_keyboard_driver.h
字号:
/**********************************************************************
* $Workfile: LH7A400_evb_keyboard_driver.h $
* $Revision: 1.2 $
* $Author: SuryanG $
* $Date: Jan 17 2002 18:29:42 $
*
* Project: LH7A400 EVB
*
* Description:
* See LH7A400_evb_keyboard_driver.c
*
* References:
* See LH7A400_evb_keyboard_driver.c
*
* Notes:
* See LH7A400_evb_keyboard_driver.c
*
* $Log: P:/PVCS6_6/archives/LH7A400 (Aruba)/keyboard/LH7A400_evb_keyboard_driver.h-arc $
*
* Rev 1.2 Jan 17 2002 18:29:42 SuryanG
* Corrected a typo in the file header.
*
* Rev 1.1 Jan 11 2002 09:46:44 KovitzP
* Added KB_ prefix to #defined constants
*
* Rev 1.0 Jan 10 2002 16:29:40 KovitzP
* Initial revision.
*
*
* COPYRIGHT (C) 2002 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
* CAMAS, WA
**********************************************************************/
#if !defined LH7A400_EVB_KEYBOARD_DRIVER_H
#define LH7A400_EVB_KEYBOARD_DRIVER_H
#include "SMA_types.h"
/*
override these if with compiler predefines if the defaults values of
KB_KEYBOARD_TIMER & KB_KEYBOARD_PRIORITY are not acceptable
*/
#if !defined KB_KEYBOARD_TIMER
#define KB_KEYBOARD_TIMER TIMER3
#endif
#if !defined KB_KEYBOARD_PRIORITY
#define KB_KEYBOARD_PRIORITY 7
#endif
#define KB_POLL_INTERVAL 10000
#define KB_SCAN_INTERVAL 1000
#define KB_MAX_CONTROL_COL 1
#define KB_MAX_COL 6
/* control key row positions */
/* column 0 */
#define KB_ALT_KEY _BIT(0)
#define KB_CTRL_KEY _BIT(3)
#define KB_FN_KEY _BIT(4)
/* column 1 */
#define KB_LEFT_SHIFT_KEY _BIT(2)
#define KB_RIGHT_SHIFT_KEY _BIT(12)
/* key row positions */
/* column 0 */
#define KB_GRAVE_KEY _BIT(1)
#define KB_ESC_KEY _BIT(5)
#define KB_ONE_KEY _BIT(6)
#define KB_TWO_KEY _BIT(7)
#define KB_NINE_KEY _BIT(8)
#define KB_ZERO_KEY _BIT(9)
#define KB_MINUS_KEY _BIT(10)
#define KB_EQUALS_KEY _BIT(11)
#define KB_BACKSPACE_KEY _BIT(13)
/* column 1 */
#define KB_BACKSLASH_KEY _BIT(1)
#define KB_DEL_KEY _BIT(5)
#define KB_T_KEY _BIT(7)
#define KB_Y_KEY _BIT(8)
#define KB_U_KEY _BIT(9)
#define KB_I_KEY _BIT(10)
#define KB_ENTER_KEY _BIT(11)
#define KB_DOWN_KEY _BIT(13)
/* column 2 */
#define KB_TAB_KEY _BIT(1)
#define KB_Q_KEY _BIT(5)
#define KB_W_KEY _BIT(6)
#define KB_E_KEY _BIT(7)
#define KB_R_KEY _BIT(8)
#define KB_O_KEY _BIT(9)
#define KB_P_KEY _BIT(10)
#define KB_LBRACKET_KEY _BIT(11)
#define KB_RBRACKET_KEY _BIT(13)
/*column 3 */
#define KB_Z_KEY _BIT(1)
#define KB_CAPS_LOCK_KEY _BIT(5)
#define KB_K_KEY _BIT(8)
#define KB_L_KEY _BIT(9)
#define KB_SEMICOLON_KEY _BIT(10)
#define KB_APOSTROPHE_KEY _BIT(11)
#define KB_UP_KEY _BIT(13)
/* column 4 */
#define KB_A_KEY _BIT(1)
#define KB_S_KEY _BIT(5)
#define KB_D_KEY _BIT(6)
#define KB_F_KEY _BIT(7)
#define KB_G_KEY _BIT(8)
#define KB_H_KEY _BIT(9)
#define KB_J_KEY _BIT(10)
#define KB_SLASH_KEY _BIT(11)
#define KB_LEFT_KEY _BIT(13)
/* column 5 */
#define KB_X_KEY _BIT(1)
#define KB_C_KEY _BIT(5)
#define KB_V_KEY _BIT(6)
#define KB_B_KEY _BIT(7)
#define KB_N_KEY _BIT(8)
#define KB_M_KEY _BIT(9)
#define KB_COMMA_KEY _BIT(10)
#define KB_PERIOD_KEY _BIT(11)
#define KB_SPACE_KEY _BIT(13)
/* column 6 */
#define KB_THREE_KEY _BIT(5)
#define KB_FOUR_KEY _BIT(6)
#define KB_FIVE_KEY _BIT(7)
#define KB_SIX_KEY _BIT(8)
#define KB_SEVEN_KEY _BIT(9)
#define KB_EIGHT_KEY _BIT(10)
#define KB_PROG_KEY _BIT(11)
#define KB_RIGHT_KEY _BIT(13)
/* key values (ASCII) */
#define KB_TAB '\t'
#define KB_ESC '\x1b'
#define KB_BREAK '\x03' /* control-C */
#define KB_BACKSPACE '\x08'
#define KB_DEL '\x7f'
#define KB_SCRLK '\x11' /* x-on */
#define KB_ENTER '\x0d'
/* key values (arbitrary) */
#define KB_NUMLOCK '\x80'
#define KB_BACKTAB '\x81'
#define KB_PAUSE '\x82'
#define KB_CAPSLOCK '\x83'
#define KB_PRTSCR '\x84'
#define KB_DOWN '\x85'
#define KB_UP '\x86'
#define KB_INS '\x87'
#define KB_PAGE_UP '\x88'
#define KB_PAGE_DOWN '\x89'
#define KB_LEFT '\x8a'
#define KB_HOME '\x8b'
#define KB_RIGHT '\x8c'
#define KB_END '\x8d'
#define KB_PROG '\x8e'
#define KB_SYSREQ '\x8f'
#define KB_PF1 '\x90'
#define KB_PF2 '\x91'
#define KB_PF3 '\x92'
#define KB_PF4 '\x93'
#define KB_PF5 '\x94'
#define KB_PF6 '\x95'
#define KB_PF7 '\x96'
#define KB_PF8 '\x97'
#define KB_PF9 '\x98'
#define KB_PF10 '\x99'
typedef union
{
struct
{
UNS_32 c:8;
UNS_32 fn:1;
UNS_32 left_shift:1;
UNS_32 right_shift:1;
UNS_32 ctrl:1;
UNS_32 alt:1;
} decoded;
UNS_32 raw;
} KEYVAL;
void LH7A400_evb_kb_reset_queue(void);
INT_32 LH7A400_evb_kb_hit(void);
KEYVAL LH7A400_evb_kb_get_char(void);
#if defined LH7A400_EVB_KB_USE_OS_Q
void LH7A400_enqueue_key(KEYVAL key);
#endif
void LH7A400_init_kb_driver(void);
void LH7A400_evb_kb_set_caps_lock(INT_32 lock_on);
INT_32 LH7A400_evb_kb_caps_lock_is_on(void);
void LH7A400_evb_kb_set_num_lock(INT_32 lock_on);
INT_32 LH7A400_evb_kb_num_lock_is_on(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -