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

📄 lh7a400_evb_keyboard_driver.h

📁 sharp的arm920t 7A400的评估板附带光盘Sharp KEVLH7A400 v0.3b Welcome to the SHARP KEV7A400 Evaluation board
💻 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 + -