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

📄 hpkeymap.c

📁 早期freebsd实现
💻 C
📖 第 1 页 / 共 3 页
字号:
	KB_Swiss_French2,	/* HIL=12h */	KB_Euro_Spanish,	/* HIL=13h */	KB_Swiss_German2,	/* HIL=14h */	KB_Belgian,		/* HIL=15h */	KB_Finnish,		/* HIL=16h */	KB_UK_English,		/* HIL=17h */	KB_Canada_French,	/* HIL=18h */	KB_Swiss_German,	/* HIL=19h */	KB_Norwegian,		/* HIL=1Ah */	KB_French,		/* HIL=1Bh */	KB_Danish,		/* HIL=1Ch */	KB_Katakana,		/* HIL=1Dh */	KB_Latin_Spanish,	/* HIL=1Eh */	KB_US_English,		/* HIL=1Fh */    };  if (hil_id == 0x30) return KB_BUTTON_BOX;  if (hil_id == 0x5c) return KB_US_English;	/* Barcode reader */  if (0xE0 <= hil_id && hil_id <= 0xFF)		/* PS2 keyboard: 0xE0 - 0xFF */	return (91 - (hil_id - 0xE0));		/* 60 - 91 */  if (0xC0 <= hil_id && hil_id <= 0xDF)		/* ITF keyboard: 0xC0 - 0xDF */	return key_tab[hil_id & 0x1f];		/* 0 - 31 */    /* Something unknown or not yet supported (such as a nonkbd device (like     *   the ID module)).     */  return KB_NULL;}#endif	/* __hpux */#if __apollo#include "ap_keysym.h"		/* for the apXK_ keysyms */static KeySym Apollo_NorthAmericanMap[] = { /* code values in comments at line end are actual value reported on HIL.    REMEMBER, there is an offset of MIN_KEYCODE applied to this table! */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x00 */	XK_Select,		XK_Insert,		NoSymbol,	NoSymbol,	/* 0x01 */	apXK_LineDel,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x02 */	apXK_CharDel,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x03 */	XK_F10,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x04 */	XK_F1,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x05 */	XK_F2,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x06 */	XK_F3,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x07 */	XK_F4,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x08 */	XK_F5,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x09 */	XK_F6,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x0a */	XK_F7,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x0b */	XK_F8,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x0c */	XK_F9,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x0d */	XK_Redo,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x0e */	apXK_Read,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x0f */	apXK_Edit,		apXK_Save,		NoSymbol,	NoSymbol,	/* 0x10 */	apXK_Exit,		XK_Cancel,		NoSymbol,	NoSymbol,	/* 0x11 */	XK_Pause,		XK_Help,		NoSymbol,	NoSymbol,	/* 0x12 */	apXK_Copy,		apXK_Cut,		NoSymbol,	NoSymbol,	/* 0x13 */	apXK_Paste,		XK_Undo,		NoSymbol,	NoSymbol,	/* 0x14 */	apXK_Grow,		apXK_Move,		NoSymbol,	NoSymbol,	/* 0x15 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x16 */	XK_Escape,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x17 */	XK_1,			XK_exclam,		NoSymbol,	NoSymbol,	/* 0x18 */	XK_2,			XK_at,			NoSymbol,	NoSymbol,	/* 0x19 */	XK_3,			XK_numbersign,		NoSymbol,	NoSymbol,	/* 0x1a */	XK_4,			XK_dollar,		NoSymbol,	NoSymbol,	/* 0x1b */	XK_5,			XK_percent,		NoSymbol,	NoSymbol,	/* 0x1c */	XK_6,			XK_asciicircum,		NoSymbol,	NoSymbol,	/* 0x1d */	XK_7,			XK_ampersand,		NoSymbol,	NoSymbol,	/* 0x1e */	XK_8,			XK_asterisk,		NoSymbol,	NoSymbol,	/* 0x1f */	XK_9,			XK_parenleft,		NoSymbol,	NoSymbol,	/* 0x20 */	XK_0,			XK_parenright,		NoSymbol,	NoSymbol,	/* 0x21 */	XK_minus,		XK_underscore,		NoSymbol,	NoSymbol,	/* 0x22 */	XK_equal,		XK_plus,		NoSymbol,	NoSymbol,	/* 0x23 */	XK_quoteleft,		XK_asciitilde,		NoSymbol,	NoSymbol,	/* 0x24 */	XK_BackSpace,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x25 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x26 */	apXK_LeftBar,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x27 */	apXK_Cmd,		apXK_Shell,		NoSymbol,	NoSymbol,	/* 0x28 */	apXK_RightBar,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x29 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x2a */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x2b */	XK_Tab,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x2c */	XK_Q,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x2d */	XK_W,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x2e */	XK_E,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x2f */	XK_R,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x30 */	XK_T,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x31 */	XK_Y,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x32 */	XK_U,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x33 */	XK_I,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x34 */	XK_O,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x35 */	XK_P,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x36 */	XK_bracketleft,		XK_braceleft,		NoSymbol,	NoSymbol,	/* 0x37 */	XK_bracketright,	XK_braceright,		NoSymbol,	NoSymbol,	/* 0x38 */	XK_Mode_switch,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x39 */	XK_Delete,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x3a */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x3b */	XK_KP_7,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x3c */	XK_KP_8,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x3d */	XK_KP_9,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x3e */	XK_KP_Add,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x3f */	apXK_LeftBox,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x40 */	XK_Up,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x41 */	apXK_RightBox,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x42 */	XK_Control_L,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x43 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x44 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x45 */	XK_A,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x46 */	XK_S,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x47 */	XK_D,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x48 */	XK_F,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x49 */	XK_G,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x4a */	XK_H,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x4b */	XK_J,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x4c */	XK_K,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x4d */	XK_L,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x4e */	XK_semicolon,		XK_colon,		NoSymbol,	NoSymbol,	/* 0x4f */	XK_quoteright,		XK_quotedbl,		NoSymbol,	NoSymbol,	/* 0x50 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x51 */	XK_Return,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x52 */	XK_backslash,		XK_bar,			NoSymbol,	NoSymbol,	/* 0x53 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x54 */	XK_KP_4,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x55 */	XK_KP_5,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x56 */	XK_KP_6,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x57 */	XK_KP_Subtract,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x58 */	XK_Left,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x59 */	XK_Next,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x5a */	XK_Right,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x5b */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x5c */	apXK_Repeat,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x5d */	XK_Shift_L,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x5e */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x5f */	XK_Z,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x60 */	XK_X,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x61 */	XK_C,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x62 */	XK_V,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x63 */	XK_B,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x64 */	XK_N,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x65 */	XK_M,			NoSymbol,		NoSymbol,	NoSymbol,	/* 0x66 */	XK_comma,		XK_less,		NoSymbol,	NoSymbol,	/* 0x67 */	XK_period,		XK_greater,		NoSymbol,	NoSymbol,	/* 0x68 */	XK_slash,		XK_question,		NoSymbol,	NoSymbol,	/* 0x69 */	XK_Shift_R,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x6a */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x6b */	apXK_Pop,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x6c */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x6d */	XK_KP_1,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x6e */	XK_KP_2,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x6f */	XK_KP_3,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x70 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x71 */	apXK_UpBox,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x72 */	XK_Down,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x73 */	apXK_DownBox,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x74 */	XK_Alt_L,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x75 */	XK_space,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x76 */	XK_Alt_R,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x77 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x78 */	XK_KP_0,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x79 */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x7a */	XK_KP_Decimal,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x7b */	XK_KP_Enter,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x7c */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x7d */	XK_Caps_Lock,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x7e */	NoSymbol,		NoSymbol,		NoSymbol,	NoSymbol,	/* 0x7f */};#endif	/* __apollo */static KeySym LPFKMap[] = {	XK_exclam,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x21 */	XK_quotedbl,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x22 */	XK_numbersign,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x23 */	XK_dollar,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x24 */	XK_percent,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x25 */	XK_ampersand,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x26 */	XK_quoteright,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x27 */	XK_parenleft,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x28 */	XK_parenright,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x29 */	XK_asterisk,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x2a */	XK_plus,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x2b */	XK_comma,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x2c */	XK_minus,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x2d */	XK_period,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x2e */	XK_slash,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x2f */	XK_0,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x30 */	XK_1,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x31 */	XK_2,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x32 */	XK_3,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x33 */	XK_4,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x34 */	XK_5,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x35 */	XK_6,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x36 */	XK_7,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x37 */	XK_8,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x38 */	XK_9,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x39 */	XK_colon,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x3a */	XK_semicolon,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x3b */	XK_less,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x3c */	XK_equal,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x3d */	XK_greater,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x3e */	XK_question,	NoSymbol,	NoSymbol,	NoSymbol,	/* 0x3f */	XK_at,		NoSymbol,	NoSymbol,	NoSymbol,	/* 0x40 */};KeySymsRec LPFKKeySyms = {LPFKMap, 0x21, 0x40, 4};   /* This structure has ONE default KeySymsRec per keyboard family per OS    *   that is used in case we can't look up the correct one.    * Notes:    *    All key maps SHOULD start at MIN_KEYCODE (aka 0) except HP-UX,    *      where the exteneded keyboard keymaps start at 2 (because the    *      extended keyboards didn't generate keycodes 0 and 1).  The PS2    *      keyboards generate keycodes starting at 0 so they need a    *      different MIN_KEYCODE.    *    These default keymaps are overwritten so they should contain at    *      least enough entries so that the largest keytable will fit.  In    *      most cases this means that last entry is 0x7f and the keymap size    *      is max-entries x width == 0x80 x 4.    */static KeySymsRec DefaultKeySyms[] = {    /*	map name 	minKeyCode		maxKC		      width */#if defined(__hpux) || defined(__hp_osf) || defined(hp9000)    &USASCIIMap[8],	(MIN_KEYCODE + 0x02),	(MIN_KEYCODE + 0x7F),	4,    USASCIIMap,		(MIN_KEYCODE),		(MIN_KEYCODE + 0x7F),	4,    null_keymap,	(MIN_KEYCODE),		(MIN_KEYCODE + 0x7F),	2,#endif#if __apollo    Apollo_NorthAmericanMap,	(MIN_KEYCODE),	(MIN_KEYCODE + 0x7F),	4,#endif};    /* Convert a X keyboard ID into a family.     * Input: X keyboard ID     * Returns:     *   0 (ITF)     *   1 (PS2)     *   2 (null or unknown device)     *   0 Apollo     */static int kbd_family(key_id){  int n;#if defined(__hpux) || defined(__hp_osf) || defined(hp9000)  if ( 0 <= key_id && key_id <= 31)   n = 0;	/* ITF keyboard */  else    if (60 <= key_id && key_id <= 91) n = 1;	/* PS2 keyboard */    else			      n = 2;	/* KB_NULL */#endif#if __apollo  n = 0;#endif  return n;}    /* This routine is called to get a pointer to a KeySymRec so you can     * overwrite the key table with the correct one for the keyboard     * connected to the system.     */KeySymsRec *hpKeySyms(key_id){

⌨️ 快捷键说明

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