GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
AG_KEYSYM(3) FreeBSD Library Functions Manual AG_KEYSYM(3)

AG_KeySym
agar key description

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

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;

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

The AG_KeySym type first appeared in Agar 1.4. New function keys are added in Agar 1.5.0.
October 2, 2009 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.