Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AG_KEYSYM(3)		    Library Functions Manual		  AG_KEYSYM(3)

NAME
       AG_KeySym -- agar key description

SYNOPSIS
       #include	<agar/core.h>
       #include	<agar/gui.h>

DESCRIPTION
       The  AG_KeySym type describes virtual keyboard keys, covering the ASCII
       range in	addition to some  common  function  keys.   Physical  keyboard
       scancodes are mapped to AG_KeySym values	in a platform-dependent	way by
       the  underlying	Agar  driver  (which may or may	not generate a Unicode
       character as well).   In	 general,  Agar	 developers  should  reference
       things  such  as	user-configurable function keys	and keyboard shortcuts
       using AG_KeySym values as well as Unicode character values.

       The functions AG_LookupKeyName(3) and AG_LookupKeySym(3)	may be used to
       convert between numerical and string representation.

       typedef enum ag_key_sym {
	       AG_KEY_NONE	       = 0x0000,       /* Start	of ASCII range */
	       AG_KEY_ASCII_START      = 0x0000,
       /*      AG_KEY_ASCII_SOH	       = 0x0001, */
       /*      AG_KEY_ASCII_STX	       = 0x0002, */
       /*      AG_KEY_ASCII_ETX	       = 0x0003, */
       /*      AG_KEY_ASCII_EOT	       = 0x0004, */
       /*      AG_KEY_ASCII_ENQ	       = 0x0005, */
       /*      AG_KEY_ASCII_ACK	       = 0x0006, */
       /*      AG_KEY_ASCII_BEL	       = 0x0007, */
	       AG_KEY_BACKSPACE	       = 0x0008,
	       AG_KEY_TAB	       = 0x0009,
       /*      AG_KEY_ASCII_NEWLINE    = 0x000a, */
       /*      AG_KEY_ASCII_VT	       = 0x000b, */
	       AG_KEY_CLEAR	       = 0x000c,
	       AG_KEY_RETURN	       = 0x000d,
       /*      AG_KEY_ASCII_SO	       = 0x000e, */
       /*      AG_KEY_ASCII_SI	       = 0x000f, */
       /*      AG_KEY_ASCII_DLE	       = 0x0010, */
       /*      AG_KEY_ASCII_DC1	       = 0x0011, */
       /*      AG_KEY_ASCII_DC2	       = 0x0012, */
	       AG_KEY_PAUSE	       = 0x0013,
       /*      AG_KEY_ASCII_DC4	       = 0x0014, */
       /*      AG_KEY_ASCII_NAK	       = 0x0015, */
       /*      AG_KEY_ASCII_SYN	       = 0x0016, */
       /*      AG_KEY_ASCII_ETB	       = 0x0017, */
       /*      AG_KEY_ASCII_CAN	       = 0x0018, */
       /*      AG_KEY_ASCII_EM	       = 0x0019, */
       /*      AG_KEY_ASCII_SUB	       = 0x001a, */
	       AG_KEY_ESCAPE	       = 0x001b,
       /*      AG_KEY_ASCII_FS	       = 0x001c, */
       /*      AG_KEY_ASCII_GS	       = 0x001d, */
       /*      AG_KEY_ASCII_RS	       = 0x001e, */
       /*      AG_KEY_ASCII_US	       = 0x001f, */
	       AG_KEY_SPACE	       = 0x0020,
	       AG_KEY_EXCLAIM	       = 0x0021,       /* ! */
	       AG_KEY_QUOTEDBL	       = 0x0022,       /* " */
	       AG_KEY_HASH	       = 0x0023,       /* # */
	       AG_KEY_DOLLAR	       = 0x0024,       /* $ */
	       AG_KEY_PERCENT	       = 0x0025,       /* % */
	       AG_KEY_AMPERSAND	       = 0x0026,       /* & */
	       AG_KEY_QUOTE	       = 0x0027,       /* ' */
	       AG_KEY_LEFTPAREN	       = 0x0028,       /* ( */
	       AG_KEY_RIGHTPAREN       = 0x0029,       /* ) */
	       AG_KEY_ASTERISK	       = 0x002a,       /* * */
	       AG_KEY_PLUS	       = 0x002b,       /* + */
	       AG_KEY_COMMA	       = 0x002c,       /* , */
	       AG_KEY_MINUS	       = 0x002d,       /* - */
	       AG_KEY_PERIOD	       = 0x002e,       /* . */
	       AG_KEY_SLASH	       = 0x002f,       /* / */
	       AG_KEY_0		       = 0x0030,       /* 0 */
	       AG_KEY_1		       = 0x0031,       /* 1 */
	       AG_KEY_2		       = 0x0032,       /* 2 */
	       AG_KEY_3		       = 0x0033,       /* 3 */
	       AG_KEY_4		       = 0x0034,       /* 4 */
	       AG_KEY_5		       = 0x0035,       /* 5 */
	       AG_KEY_6		       = 0x0036,       /* 6 */
	       AG_KEY_7		       = 0x0037,       /* 7 */
	       AG_KEY_8		       = 0x0038,       /* 8 */
	       AG_KEY_9		       = 0x0039,       /* 9 */
	       AG_KEY_COLON	       = 0x003a,       /* : */
	       AG_KEY_SEMICOLON	       = 0x003b,       /* ; */
	       AG_KEY_LESS	       = 0x003c,       /* < */
	       AG_KEY_EQUALS	       = 0x003d,       /* = */
	       AG_KEY_GREATER	       = 0x003e,       /* > */
	       AG_KEY_QUESTION	       = 0x003f,       /* ? */
	       AG_KEY_AT	       = 0x0040,       /* @ */
       #if 0
	       AG_KEY_UPPER_A	       = 0x0041,       /* A */
	       AG_KEY_UPPER_B	       = 0x0042,       /* B */
	       AG_KEY_UPPER_C	       = 0x0043,       /* C */
	       AG_KEY_UPPER_D	       = 0x0044,       /* D */
	       AG_KEY_UPPER_E	       = 0x0045,       /* E */
	       AG_KEY_UPPER_F	       = 0x0046,       /* F */
	       AG_KEY_UPPER_G	       = 0x0047,       /* G */
	       AG_KEY_UPPER_H	       = 0x0048,       /* H */
	       AG_KEY_UPPER_I	       = 0x0049,       /* I */
	       AG_KEY_UPPER_J	       = 0x004a,       /* J */
	       AG_KEY_UPPER_K	       = 0x004b,       /* K */
	       AG_KEY_UPPER_L	       = 0x004c,       /* L */
	       AG_KEY_UPPER_M	       = 0x004d,       /* M */
	       AG_KEY_UPPER_N	       = 0x004e,       /* N */
	       AG_KEY_UPPER_O	       = 0x004f,       /* O */
	       AG_KEY_UPPER_P	       = 0x0050,       /* P */
	       AG_KEY_UPPER_Q	       = 0x0051,       /* Q */
	       AG_KEY_UPPER_R	       = 0x0052,       /* R */
	       AG_KEY_UPPER_S	       = 0x0053,       /* S */
	       AG_KEY_UPPER_T	       = 0x0054,       /* T */
	       AG_KEY_UPPER_U	       = 0x0055,       /* U */
	       AG_KEY_UPPER_V	       = 0x0056,       /* V */
	       AG_KEY_UPPER_W	       = 0x0057,       /* W */
	       AG_KEY_UPPER_X	       = 0x0058,       /* X */
	       AG_KEY_UPPER_Y	       = 0x0059,       /* Y */
	       AG_KEY_UPPER_Z	       = 0x005a,       /* Z */
       #endif
	       AG_KEY_LEFTBRACKET      = 0x005b,       /* [ */
	       AG_KEY_BACKSLASH	       = 0x005c,       /*  */
	       AG_KEY_RIGHTBRACKET     = 0x005d,       /* ] */
	       AG_KEY_CARET	       = 0x005e,       /* ^ */
	       AG_KEY_UNDERSCORE       = 0x005f,       /* _ */
	       AG_KEY_BACKQUOTE	       = 0x0060,       /* ` */
	       AG_KEY_A		       = 0x0061,       /* a */
	       AG_KEY_B		       = 0x0062,       /* b */
	       AG_KEY_C		       = 0x0063,       /* c */
	       AG_KEY_D		       = 0x0064,       /* d */
	       AG_KEY_E		       = 0x0065,       /* e */
	       AG_KEY_F		       = 0x0066,       /* f */
	       AG_KEY_G		       = 0x0067,       /* g */
	       AG_KEY_H		       = 0x0068,       /* h */
	       AG_KEY_I		       = 0x0069,       /* i */
	       AG_KEY_J		       = 0x006a,       /* j */
	       AG_KEY_K		       = 0x006b,       /* k */
	       AG_KEY_L		       = 0x006c,       /* l */
	       AG_KEY_M		       = 0x006d,       /* m */
	       AG_KEY_N		       = 0x006e,       /* n */
	       AG_KEY_O		       = 0x006f,       /* o */
	       AG_KEY_P		       = 0x0070,       /* p */
	       AG_KEY_Q		       = 0x0071,       /* q */
	       AG_KEY_R		       = 0x0072,       /* r */
	       AG_KEY_S		       = 0x0073,       /* s */
	       AG_KEY_T		       = 0x0074,       /* t */
	       AG_KEY_U		       = 0x0075,       /* u */
	       AG_KEY_V		       = 0x0076,       /* v */
	       AG_KEY_W		       = 0x0077,       /* w */
	       AG_KEY_X		       = 0x0078,       /* x */
	       AG_KEY_Y		       = 0x0079,       /* y */
	       AG_KEY_Z		       = 0x007a,       /* z */
	       AG_KEY_DELETE	       = 0x007f,
	       AG_KEY_ASCII_END	       = 0x007f,       /* End of ASCII range */
	       AG_KEY_KP0	       = 0x0100,
	       AG_KEY_KP1	       = 0x0101,
	       AG_KEY_KP2	       = 0x0102,
	       AG_KEY_KP3	       = 0x0103,
	       AG_KEY_KP4	       = 0x0104,
	       AG_KEY_KP5	       = 0x0105,
	       AG_KEY_KP6	       = 0x0106,
	       AG_KEY_KP7	       = 0x0107,
	       AG_KEY_KP8	       = 0x0108,
	       AG_KEY_KP9	       = 0x0109,
	       AG_KEY_KP_PERIOD	       = 0x010a,
	       AG_KEY_KP_DIVIDE	       = 0x010b,
	       AG_KEY_KP_MULTIPLY      = 0x010c,
	       AG_KEY_KP_MINUS	       = 0x010d,
	       AG_KEY_KP_PLUS	       = 0x010e,
	       AG_KEY_KP_ENTER	       = 0x010f,
	       AG_KEY_KP_EQUALS	       = 0x0110,
	       AG_KEY_UP	       = 0x0111,
	       AG_KEY_DOWN	       = 0x0112,
	       AG_KEY_RIGHT	       = 0x0113,
	       AG_KEY_LEFT	       = 0x0114,
	       AG_KEY_INSERT	       = 0x0115,
	       AG_KEY_HOME	       = 0x0116,
	       AG_KEY_END	       = 0x0117,
	       AG_KEY_PAGEUP	       = 0x0118,
	       AG_KEY_PAGEDOWN	       = 0x0119,
	       AG_KEY_F1	       = 0x011a,
	       AG_KEY_F2	       = 0x011b,
	       AG_KEY_F3	       = 0x011c,
	       AG_KEY_F4	       = 0x011d,
	       AG_KEY_F5	       = 0x011e,
	       AG_KEY_F6	       = 0x011f,
	       AG_KEY_F7	       = 0x0120,
	       AG_KEY_F8	       = 0x0121,
	       AG_KEY_F9	       = 0x0122,
	       AG_KEY_F10	       = 0x0123,
	       AG_KEY_F11	       = 0x0124,
	       AG_KEY_F12	       = 0x0125,
	       AG_KEY_F13	       = 0x0126,
	       AG_KEY_F14	       = 0x0127,
	       AG_KEY_F15	       = 0x0128,
	       AG_KEY_NUMLOCK	       = 0x012c,
	       AG_KEY_CAPSLOCK	       = 0x012d,
	       AG_KEY_SCROLLOCK	       = 0x012e,
	       AG_KEY_RSHIFT	       = 0x012f,
	       AG_KEY_LSHIFT	       = 0x0130,
	       AG_KEY_RCTRL	       = 0x0131,
	       AG_KEY_LCTRL	       = 0x0132,
	       AG_KEY_RALT	       = 0x0133,
	       AG_KEY_LALT	       = 0x0134,
	       AG_KEY_RMETA	       = 0x0135,
	       AG_KEY_LMETA	       = 0x0136,
	       AG_KEY_LSUPER	       = 0x0137,
	       AG_KEY_RSUPER	       = 0x0138,
	       AG_KEY_MODE	       = 0x0139,
	       AG_KEY_COMPOSE	       = 0x013a,
	       AG_KEY_HELP	       = 0x013b,
	       AG_KEY_PRINT	       = 0x013c,
	       AG_KEY_SYSREQ	       = 0x013d,
	       AG_KEY_BREAK	       = 0x013e,
	       AG_KEY_MENU	       = 0x013f,
	       AG_KEY_POWER	       = 0x0140,
	       AG_KEY_EURO	       = 0x0141,
	       AG_KEY_UNDO	       = 0x0142,
	       AG_KEY_GRAVE	       = 0x0143,
	       AG_KEY_KP_CLEAR	       = 0x0144,
	       AG_KEY_COMMAND	       = 0x0145,
	       AG_KEY_FUNCTION	       = 0x0146,
	       AG_KEY_VOLUME_UP	       = 0x0147,
	       AG_KEY_VOLUME_DOWN      = 0x0148,
	       AG_KEY_VOLUME_MUTE      = 0x0149,
	       AG_KEY_F16	       = 0x014a,
	       AG_KEY_F17	       = 0x014b,
	       AG_KEY_F18	       = 0x014c,
	       AG_KEY_F19	       = 0x014d,
	       AG_KEY_F20	       = 0x014e,
	       AG_KEY_F21	       = 0x014f,
	       AG_KEY_F22	       = 0x0150,
	       AG_KEY_F23	       = 0x0151,
	       AG_KEY_F24	       = 0x0152,
	       AG_KEY_F25	       = 0x0153,
	       AG_KEY_F26	       = 0x0154,
	       AG_KEY_F27	       = 0x0155,
	       AG_KEY_F28	       = 0x0156,
	       AG_KEY_F29	       = 0x0157,
	       AG_KEY_F30	       = 0x0158,
	       AG_KEY_F31	       = 0x0159,
	       AG_KEY_F32	       = 0x015a,
	       AG_KEY_F33	       = 0x015b,
	       AG_KEY_F34	       = 0x015c,
	       AG_KEY_F35	       = 0x015d,
	       AG_KEY_BEGIN	       = 0x015e,
	       AG_KEY_RESET	       = 0x015f,
	       AG_KEY_STOP	       = 0x0160,
	       AG_KEY_USER	       = 0x0161,
	       AG_KEY_SYSTEM	       = 0x0162,
	       AG_KEY_PRINT_SCREEN     = 0x0163,
	       AG_KEY_CLEAR_LINE       = 0x0164,
	       AG_KEY_CLEAR_DISPLAY    = 0x0165,
	       AG_KEY_INSERT_LINE      = 0x0166,
	       AG_KEY_DELETE_LINE      = 0x0167,
	       AG_KEY_INSERT_CHAR      = 0x0168,
	       AG_KEY_DELETE_CHAR      = 0x0169,
	       AG_KEY_PREV	       = 0x016a,
	       AG_KEY_NEXT	       = 0x016b,
	       AG_KEY_SELECT	       = 0x016c,
	       AG_KEY_EXECUTE	       = 0x016d,
	       AG_KEY_REDO	       = 0x016e,
	       AG_KEY_FIND	       = 0x016f,
	       AG_KEY_MODE_SWITCH      = 0x0170,
	       AG_KEY_LAST	       = 0x0171,
	       AG_KEY_ANY	       = 0xffff	       /* For matching */
       } AG_KeySym;

SEE ALSO
       AG_Intro(3), AG_Keyboard(3), AG_KeyMod(3), AG_Widget(3),	AG_Window(3)

HISTORY
       The AG_KeySym type first	appeared in Agar  1.4.0.   New	function  keys
       were added in Agar 1.5.0.

Agar 1.7		       December	21, 2022		  AG_KEYSYM(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=AG_KeySym&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help