147 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/*	keymap.h - defines for keymapping		Author: Marcus Hampel
 | 
						|
 */
 | 
						|
#ifndef _SYS__KEYMAP_H
 | 
						|
#define _SYS__KEYMAP_H
 | 
						|
 | 
						|
#define	C(c)	((c) & 0x1F)	/* Map to control code		*/
 | 
						|
#define A(c)	((c) | 0x80)	/* Set eight bit (ALT)		*/
 | 
						|
#define CA(c)	A(C(c))		/* Control-Alt			*/
 | 
						|
#define	L(c)	((c) | HASCAPS)	/* Add "Caps Lock has effect" attribute */
 | 
						|
 | 
						|
#define EXT	0x0100		/* Normal function keys		*/
 | 
						|
#define CTRL	0x0200		/* Control key			*/
 | 
						|
#define SHIFT	0x0400		/* Shift key			*/
 | 
						|
#define ALT	0x0800		/* Alternate key		*/
 | 
						|
#define EXTKEY	0x1000		/* extended keycode		*/
 | 
						|
#define HASCAPS	0x8000		/* Caps Lock has effect		*/
 | 
						|
 | 
						|
/* Scan code conversion. */
 | 
						|
#define KEY_RELEASE 	0200
 | 
						|
#define ASCII_MASK	0177
 | 
						|
 | 
						|
/* Numeric keypad */
 | 
						|
#define HOME	(0x01 + EXT)
 | 
						|
#define END	(0x02 + EXT)
 | 
						|
#define UP	(0x03 + EXT)
 | 
						|
#define DOWN	(0x04 + EXT)
 | 
						|
#define LEFT	(0x05 + EXT)
 | 
						|
#define RIGHT	(0x06 + EXT)
 | 
						|
#define PGUP	(0x07 + EXT)
 | 
						|
#define PGDN	(0x08 + EXT)
 | 
						|
#define MID	(0x09 + EXT)
 | 
						|
#define NMIN	(0x0A + EXT)
 | 
						|
#define PLUS	(0x0B + EXT)
 | 
						|
#define INSRT	(0x0C + EXT)
 | 
						|
 | 
						|
/* Alt + Numeric keypad */
 | 
						|
#define AHOME	(0x01 + ALT)
 | 
						|
#define AEND	(0x02 + ALT)
 | 
						|
#define AUP	(0x03 + ALT)
 | 
						|
#define ADOWN	(0x04 + ALT)
 | 
						|
#define ALEFT	(0x05 + ALT)
 | 
						|
#define ARIGHT	(0x06 + ALT)
 | 
						|
#define APGUP	(0x07 + ALT)
 | 
						|
#define APGDN	(0x08 + ALT)
 | 
						|
#define AMID	(0x09 + ALT)
 | 
						|
#define ANMIN	(0x0A + ALT)
 | 
						|
#define APLUS	(0x0B + ALT)
 | 
						|
#define AINSRT	(0x0C + ALT)
 | 
						|
 | 
						|
/* Ctrl + Numeric keypad */
 | 
						|
#define CHOME	(0x01 + CTRL)
 | 
						|
#define CEND	(0x02 + CTRL)
 | 
						|
#define CUP	(0x03 + CTRL)
 | 
						|
#define CDOWN	(0x04 + CTRL)
 | 
						|
#define CLEFT	(0x05 + CTRL)
 | 
						|
#define CRIGHT	(0x06 + CTRL)
 | 
						|
#define CPGUP	(0x07 + CTRL)
 | 
						|
#define CPGDN	(0x08 + CTRL)
 | 
						|
#define CMID	(0x09 + CTRL)
 | 
						|
#define CNMIN	(0x0A + CTRL)
 | 
						|
#define CPLUS	(0x0B + CTRL)
 | 
						|
#define CINSRT	(0x0C + CTRL)
 | 
						|
 | 
						|
/* Lock keys */
 | 
						|
#define CALOCK	(0x0D + EXT)	/* caps lock	*/
 | 
						|
#define	NLOCK	(0x0E + EXT)	/* number lock	*/
 | 
						|
#define SLOCK	(0x0F + EXT)	/* scroll lock	*/
 | 
						|
 | 
						|
/* Function keys */
 | 
						|
#define F1	(0x10 + EXT)
 | 
						|
#define F2	(0x11 + EXT)
 | 
						|
#define F3	(0x12 + EXT)
 | 
						|
#define F4	(0x13 + EXT)
 | 
						|
#define F5	(0x14 + EXT)
 | 
						|
#define F6	(0x15 + EXT)
 | 
						|
#define F7	(0x16 + EXT)
 | 
						|
#define F8	(0x17 + EXT)
 | 
						|
#define F9	(0x18 + EXT)
 | 
						|
#define F10	(0x19 + EXT)
 | 
						|
#define F11	(0x1A + EXT)
 | 
						|
#define F12	(0x1B + EXT)
 | 
						|
 | 
						|
/* Alt+Fn */
 | 
						|
#define AF1	(0x10 + ALT)
 | 
						|
#define AF2	(0x11 + ALT)
 | 
						|
#define AF3	(0x12 + ALT)
 | 
						|
#define AF4	(0x13 + ALT)
 | 
						|
#define AF5	(0x14 + ALT)
 | 
						|
#define AF6	(0x15 + ALT)
 | 
						|
#define AF7	(0x16 + ALT)
 | 
						|
#define AF8	(0x17 + ALT)
 | 
						|
#define AF9	(0x18 + ALT)
 | 
						|
#define AF10	(0x19 + ALT)
 | 
						|
#define AF11	(0x1A + ALT)
 | 
						|
#define AF12	(0x1B + ALT)
 | 
						|
 | 
						|
/* Ctrl+Fn */
 | 
						|
#define CF1	(0x10 + CTRL)
 | 
						|
#define CF2	(0x11 + CTRL)
 | 
						|
#define CF3	(0x12 + CTRL)
 | 
						|
#define CF4	(0x13 + CTRL)
 | 
						|
#define CF5	(0x14 + CTRL)
 | 
						|
#define CF6	(0x15 + CTRL)
 | 
						|
#define CF7	(0x16 + CTRL)
 | 
						|
#define CF8	(0x17 + CTRL)
 | 
						|
#define CF9	(0x18 + CTRL)
 | 
						|
#define CF10	(0x19 + CTRL)
 | 
						|
#define CF11	(0x1A + CTRL)
 | 
						|
#define CF12	(0x1B + CTRL)
 | 
						|
 | 
						|
/* Shift+Fn */
 | 
						|
#define SF1	(0x10 + SHIFT)
 | 
						|
#define SF2	(0x11 + SHIFT)
 | 
						|
#define SF3	(0x12 + SHIFT)
 | 
						|
#define SF4	(0x13 + SHIFT)
 | 
						|
#define SF5	(0x14 + SHIFT)
 | 
						|
#define SF6	(0x15 + SHIFT)
 | 
						|
#define SF7	(0x16 + SHIFT)
 | 
						|
#define SF8	(0x17 + SHIFT)
 | 
						|
#define SF9	(0x18 + SHIFT)
 | 
						|
#define SF10	(0x19 + SHIFT)
 | 
						|
#define SF11	(0x1A + SHIFT)
 | 
						|
#define SF12	(0x1B + SHIFT)
 | 
						|
 | 
						|
/* Alt+Shift+Fn */
 | 
						|
#define ASF1	(0x10 + ALT + SHIFT)
 | 
						|
#define ASF2	(0x11 + ALT + SHIFT)
 | 
						|
#define ASF3	(0x12 + ALT + SHIFT)
 | 
						|
#define ASF4	(0x13 + ALT + SHIFT)
 | 
						|
#define ASF5	(0x14 + ALT + SHIFT)
 | 
						|
#define ASF6	(0x15 + ALT + SHIFT)
 | 
						|
#define ASF7	(0x16 + ALT + SHIFT)
 | 
						|
#define ASF8	(0x17 + ALT + SHIFT)
 | 
						|
#define ASF9	(0x18 + ALT + SHIFT)
 | 
						|
#define ASF10	(0x19 + ALT + SHIFT)
 | 
						|
#define ASF11	(0x1A + ALT + SHIFT)
 | 
						|
#define ASF12	(0x1B + ALT + SHIFT)
 | 
						|
 | 
						|
#define MAP_COLS	6	/* Number of columns in keymap */
 | 
						|
#define NR_SCAN_CODES	0x80	/* Number of scan codes (rows in keymap) */
 | 
						|
 | 
						|
typedef unsigned short keymap_t[NR_SCAN_CODES * MAP_COLS];
 | 
						|
 | 
						|
#define KEY_MAGIC	"KMAZ"	/* Magic number of keymap file */
 | 
						|
 | 
						|
#endif /* _SYS__KEYMAP_H */
 |