Index

Package: Keyboard

Description

package Allegro.Keyboard is
Allegro 5.0.9 - Keyboard routines

Types

Allegro_Keyboard

type Allegro_Keyboard is limited private;

A_Allegro_Keyboard

type A_Allegro_Keyboard is access all Allegro_Keyboard;

Int_Array

type Int_Array is array (Integer range <>) of Unsigned_32;

Allegro_Keyboard_State

type Allegro_Keyboard_State is
        record
            display  : A_Allegro_Display;
            internal : Int_Array(0..(ALLEGRO_KEY_MAX+31)/32-1);  -- Allegro internal
        end record;

Constants & Global variables

ALLEGRO_KEY_A (Integer)

ALLEGRO_KEY_A            : constant Integer := 1;

ALLEGRO_KEY_B (Integer)

ALLEGRO_KEY_B            : constant Integer := 2;

ALLEGRO_KEY_C (Integer)

ALLEGRO_KEY_C            : constant Integer := 3;

ALLEGRO_KEY_D (Integer)

ALLEGRO_KEY_D            : constant Integer := 4;

ALLEGRO_KEY_E (Integer)

ALLEGRO_KEY_E            : constant Integer := 5;

ALLEGRO_KEY_F (Integer)

ALLEGRO_KEY_F            : constant Integer := 6;

ALLEGRO_KEY_G (Integer)

ALLEGRO_KEY_G            : constant Integer := 7;

ALLEGRO_KEY_H (Integer)

ALLEGRO_KEY_H            : constant Integer := 8;

ALLEGRO_KEY_I (Integer)

ALLEGRO_KEY_I            : constant Integer := 9;

ALLEGRO_KEY_J (Integer)

ALLEGRO_KEY_J            : constant Integer := 10;

ALLEGRO_KEY_K (Integer)

ALLEGRO_KEY_K            : constant Integer := 11;

ALLEGRO_KEY_L (Integer)

ALLEGRO_KEY_L            : constant Integer := 12;

ALLEGRO_KEY_M (Integer)

ALLEGRO_KEY_M            : constant Integer := 13;

ALLEGRO_KEY_N (Integer)

ALLEGRO_KEY_N            : constant Integer := 14;

ALLEGRO_KEY_O (Integer)

ALLEGRO_KEY_O            : constant Integer := 15;

ALLEGRO_KEY_P (Integer)

ALLEGRO_KEY_P            : constant Integer := 16;

ALLEGRO_KEY_Q (Integer)

ALLEGRO_KEY_Q            : constant Integer := 17;

ALLEGRO_KEY_R (Integer)

ALLEGRO_KEY_R            : constant Integer := 18;

ALLEGRO_KEY_S (Integer)

ALLEGRO_KEY_S            : constant Integer := 19;

ALLEGRO_KEY_T (Integer)

ALLEGRO_KEY_T            : constant Integer := 20;

ALLEGRO_KEY_U (Integer)

ALLEGRO_KEY_U            : constant Integer := 21;

ALLEGRO_KEY_V (Integer)

ALLEGRO_KEY_V            : constant Integer := 22;

ALLEGRO_KEY_W (Integer)

ALLEGRO_KEY_W            : constant Integer := 23;

ALLEGRO_KEY_X (Integer)

ALLEGRO_KEY_X            : constant Integer := 24;

ALLEGRO_KEY_Y (Integer)

ALLEGRO_KEY_Y            : constant Integer := 25;

ALLEGRO_KEY_Z (Integer)

ALLEGRO_KEY_Z            : constant Integer := 26;

ALLEGRO_KEY_0 (Integer)

ALLEGRO_KEY_0            : constant Integer := 27;

ALLEGRO_KEY_1 (Integer)

ALLEGRO_KEY_1            : constant Integer := 28;

ALLEGRO_KEY_2 (Integer)

ALLEGRO_KEY_2            : constant Integer := 29;

ALLEGRO_KEY_3 (Integer)

ALLEGRO_KEY_3            : constant Integer := 30;

ALLEGRO_KEY_4 (Integer)

ALLEGRO_KEY_4            : constant Integer := 31;

ALLEGRO_KEY_5 (Integer)

ALLEGRO_KEY_5            : constant Integer := 32;

ALLEGRO_KEY_6 (Integer)

ALLEGRO_KEY_6            : constant Integer := 33;

ALLEGRO_KEY_7 (Integer)

ALLEGRO_KEY_7            : constant Integer := 34;

ALLEGRO_KEY_8 (Integer)

ALLEGRO_KEY_8            : constant Integer := 35;

ALLEGRO_KEY_9 (Integer)

ALLEGRO_KEY_9            : constant Integer := 36;

ALLEGRO_KEY_PAD_0 (Integer)

ALLEGRO_KEY_PAD_0        : constant Integer := 37;

ALLEGRO_KEY_PAD_1 (Integer)

ALLEGRO_KEY_PAD_1        : constant Integer := 38;

ALLEGRO_KEY_PAD_2 (Integer)

ALLEGRO_KEY_PAD_2        : constant Integer := 39;

ALLEGRO_KEY_PAD_3 (Integer)

ALLEGRO_KEY_PAD_3        : constant Integer := 40;

ALLEGRO_KEY_PAD_4 (Integer)

ALLEGRO_KEY_PAD_4        : constant Integer := 41;

ALLEGRO_KEY_PAD_5 (Integer)

ALLEGRO_KEY_PAD_5        : constant Integer := 42;

ALLEGRO_KEY_PAD_6 (Integer)

ALLEGRO_KEY_PAD_6        : constant Integer := 43;

ALLEGRO_KEY_PAD_7 (Integer)

ALLEGRO_KEY_PAD_7        : constant Integer := 44;

ALLEGRO_KEY_PAD_8 (Integer)

ALLEGRO_KEY_PAD_8        : constant Integer := 45;

ALLEGRO_KEY_PAD_9 (Integer)

ALLEGRO_KEY_PAD_9        : constant Integer := 46;

ALLEGRO_KEY_F1 (Integer)

ALLEGRO_KEY_F1           : constant Integer := 47;

ALLEGRO_KEY_F2 (Integer)

ALLEGRO_KEY_F2           : constant Integer := 48;

ALLEGRO_KEY_F3 (Integer)

ALLEGRO_KEY_F3           : constant Integer := 49;

ALLEGRO_KEY_F4 (Integer)

ALLEGRO_KEY_F4           : constant Integer := 50;

ALLEGRO_KEY_F5 (Integer)

ALLEGRO_KEY_F5           : constant Integer := 51;

ALLEGRO_KEY_F6 (Integer)

ALLEGRO_KEY_F6           : constant Integer := 52;

ALLEGRO_KEY_F7 (Integer)

ALLEGRO_KEY_F7           : constant Integer := 53;

ALLEGRO_KEY_F8 (Integer)

ALLEGRO_KEY_F8           : constant Integer := 54;

ALLEGRO_KEY_F9 (Integer)

ALLEGRO_KEY_F9           : constant Integer := 55;

ALLEGRO_KEY_F10 (Integer)

ALLEGRO_KEY_F10          : constant Integer := 56;

ALLEGRO_KEY_F11 (Integer)

ALLEGRO_KEY_F11          : constant Integer := 57;

ALLEGRO_KEY_F12 (Integer)

ALLEGRO_KEY_F12          : constant Integer := 58;

ALLEGRO_KEY_ESCAPE (Integer)

ALLEGRO_KEY_ESCAPE       : constant Integer := 59;

ALLEGRO_KEY_TILDE (Integer)

ALLEGRO_KEY_TILDE        : constant Integer := 60;

ALLEGRO_KEY_MINUS (Integer)

ALLEGRO_KEY_MINUS        : constant Integer := 61;

ALLEGRO_KEY_EQUALS (Integer)

ALLEGRO_KEY_EQUALS       : constant Integer := 62;

ALLEGRO_KEY_BACKSPACE (Integer)

ALLEGRO_KEY_BACKSPACE    : constant Integer := 63;

ALLEGRO_KEY_TAB (Integer)

ALLEGRO_KEY_TAB          : constant Integer := 64;

ALLEGRO_KEY_OPENBRACE (Integer)

ALLEGRO_KEY_OPENBRACE    : constant Integer := 65;

ALLEGRO_KEY_CLOSEBRACE (Integer)

ALLEGRO_KEY_CLOSEBRACE   : constant Integer := 66;

ALLEGRO_KEY_ENTER (Integer)

ALLEGRO_KEY_ENTER        : constant Integer := 67;

ALLEGRO_KEY_SEMICOLON (Integer)

ALLEGRO_KEY_SEMICOLON    : constant Integer := 68;

ALLEGRO_KEY_QUOTE (Integer)

ALLEGRO_KEY_QUOTE        : constant Integer := 69;

ALLEGRO_KEY_BACKSLASH (Integer)

ALLEGRO_KEY_BACKSLASH    : constant Integer := 70;
DirectInput calls this DIK_OEM_102: "< > | on UK/Germany keyboards"

ALLEGRO_KEY_BACKSLASH2 (Integer)

ALLEGRO_KEY_BACKSLASH2   : constant Integer := 71;

ALLEGRO_KEY_COMMA (Integer)

ALLEGRO_KEY_COMMA        : constant Integer := 72;
DirectInput calls this DIK_OEM_102: "< > | on UK/Germany keyboards"

ALLEGRO_KEY_FULLSTOP (Integer)

ALLEGRO_KEY_FULLSTOP     : constant Integer := 73;

ALLEGRO_KEY_SLASH (Integer)

ALLEGRO_KEY_SLASH        : constant Integer := 74;

ALLEGRO_KEY_SPACE (Integer)

ALLEGRO_KEY_SPACE        : constant Integer := 75;

ALLEGRO_KEY_INSERT (Integer)

ALLEGRO_KEY_INSERT       : constant Integer := 76;

ALLEGRO_KEY_DELETE (Integer)

ALLEGRO_KEY_DELETE       : constant Integer := 77;

ALLEGRO_KEY_HOME (Integer)

ALLEGRO_KEY_HOME         : constant Integer := 78;

ALLEGRO_KEY_END (Integer)

ALLEGRO_KEY_END          : constant Integer := 79;

ALLEGRO_KEY_PGUP (Integer)

ALLEGRO_KEY_PGUP         : constant Integer := 80;

ALLEGRO_KEY_PGDN (Integer)

ALLEGRO_KEY_PGDN         : constant Integer := 81;

ALLEGRO_KEY_LEFT (Integer)

ALLEGRO_KEY_LEFT         : constant Integer := 82;

ALLEGRO_KEY_RIGHT (Integer)

ALLEGRO_KEY_RIGHT        : constant Integer := 83;

ALLEGRO_KEY_UP (Integer)

ALLEGRO_KEY_UP           : constant Integer := 84;

ALLEGRO_KEY_DOWN (Integer)

ALLEGRO_KEY_DOWN         : constant Integer := 85;

ALLEGRO_KEY_PAD_SLASH (Integer)

ALLEGRO_KEY_PAD_SLASH    : constant Integer := 86;

ALLEGRO_KEY_PAD_ASTERISK (Integer)

ALLEGRO_KEY_PAD_ASTERISK : constant Integer := 87;

ALLEGRO_KEY_PAD_MINUS (Integer)

ALLEGRO_KEY_PAD_MINUS    : constant Integer := 88;

ALLEGRO_KEY_PAD_PLUS (Integer)

ALLEGRO_KEY_PAD_PLUS     : constant Integer := 89;

ALLEGRO_KEY_PAD_DELETE (Integer)

ALLEGRO_KEY_PAD_DELETE   : constant Integer := 90;

ALLEGRO_KEY_PAD_ENTER (Integer)

ALLEGRO_KEY_PAD_ENTER    : constant Integer := 91;

ALLEGRO_KEY_PRINTSCREEN (Integer)

ALLEGRO_KEY_PRINTSCREEN  : constant Integer := 92;

ALLEGRO_KEY_PAUSE (Integer)

ALLEGRO_KEY_PAUSE        : constant Integer := 93;

ALLEGRO_KEY_ABNT_C1 (Integer)

ALLEGRO_KEY_ABNT_C1      : constant Integer := 94;

ALLEGRO_KEY_YEN (Integer)

ALLEGRO_KEY_YEN          : constant Integer := 95;

ALLEGRO_KEY_KANA (Integer)

ALLEGRO_KEY_KANA         : constant Integer := 96;

ALLEGRO_KEY_CONVERT (Integer)

ALLEGRO_KEY_CONVERT      : constant Integer := 97;

ALLEGRO_KEY_NOCONVERT (Integer)

ALLEGRO_KEY_NOCONVERT    : constant Integer := 98;

ALLEGRO_KEY_AT (Integer)

ALLEGRO_KEY_AT           : constant Integer := 99;

ALLEGRO_KEY_CIRCUMFLEX (Integer)

ALLEGRO_KEY_CIRCUMFLEX   : constant Integer := 100;

ALLEGRO_KEY_COLON2 (Integer)

ALLEGRO_KEY_COLON2       : constant Integer := 101;

ALLEGRO_KEY_KANJI (Integer)

ALLEGRO_KEY_KANJI        : constant Integer := 102;

ALLEGRO_KEY_PAD_EQUALS (Integer)

ALLEGRO_KEY_PAD_EQUALS   : constant Integer := 103;

ALLEGRO_KEY_BACKQUOTE (Integer)

ALLEGRO_KEY_BACKQUOTE    : constant Integer := 104;
MacOS X

ALLEGRO_KEY_SEMICOLON2 (Integer)

ALLEGRO_KEY_SEMICOLON2   : constant Integer := 105;
MacOS X

ALLEGRO_KEY_COMMAND (Integer)

ALLEGRO_KEY_COMMAND      : constant Integer := 106;
MacOS X

ALLEGRO_KEY_UNKNOWN (Integer)

ALLEGRO_KEY_UNKNOWN      : constant Integer := 107;
MacOS X

ALLEGRO_KEY_LSHIFT (Integer)

ALLEGRO_KEY_LSHIFT       : constant Integer := 215;

ALLEGRO_KEY_RSHIFT (Integer)

ALLEGRO_KEY_RSHIFT       : constant Integer := 216;

ALLEGRO_KEY_LCTRL (Integer)

ALLEGRO_KEY_LCTRL        : constant Integer := 217;

ALLEGRO_KEY_RCTRL (Integer)

ALLEGRO_KEY_RCTRL        : constant Integer := 218;

ALLEGRO_KEY_ALT (Integer)

ALLEGRO_KEY_ALT          : constant Integer := 219;

ALLEGRO_KEY_ALTGR (Integer)

ALLEGRO_KEY_ALTGR        : constant Integer := 220;

ALLEGRO_KEY_LWIN (Integer)

ALLEGRO_KEY_LWIN         : constant Integer := 221;

ALLEGRO_KEY_RWIN (Integer)

ALLEGRO_KEY_RWIN         : constant Integer := 222;

ALLEGRO_KEY_MENU (Integer)

ALLEGRO_KEY_MENU         : constant Integer := 223;

ALLEGRO_KEY_SCROLLLOCK (Integer)

ALLEGRO_KEY_SCROLLLOCK   : constant Integer := 224;

ALLEGRO_KEY_NUMLOCK (Integer)

ALLEGRO_KEY_NUMLOCK      : constant Integer := 225;

ALLEGRO_KEY_CAPSLOCK (Integer)

ALLEGRO_KEY_CAPSLOCK     : constant Integer := 226;

ALLEGRO_KEY_MODIFIERS (Integer)

ALLEGRO_KEY_MODIFIERS : constant Integer := 215;

ALLEGRO_KEY_MAX (Integer)

ALLEGRO_KEY_MAX       : constant Integer := 227;

KEYMOD_SHIFT (Unsigned_32)

KEYMOD_SHIFT      : constant Unsigned_32 := 16#0001#;

KEYMOD_CTRL (Unsigned_32)

KEYMOD_CTRL       : constant Unsigned_32 := 16#0002#;

KEYMOD_ALT (Unsigned_32)

KEYMOD_ALT        : constant Unsigned_32 := 16#0004#;

KEYMOD_LWIN (Unsigned_32)

KEYMOD_LWIN       : constant Unsigned_32 := 16#0008#;

KEYMOD_RWIN (Unsigned_32)

KEYMOD_RWIN       : constant Unsigned_32 := 16#0010#;

KEYMOD_MENU (Unsigned_32)

KEYMOD_MENU       : constant Unsigned_32 := 16#0020#;

KEYMOD_ALTGR (Unsigned_32)

KEYMOD_ALTGR      : constant Unsigned_32 := 16#0040#;

KEYMOD_COMMAND (Unsigned_32)

KEYMOD_COMMAND    : constant Unsigned_32 := 16#0080#;

KEYMOD_SCROLLLOCK (Unsigned_32)

KEYMOD_SCROLLLOCK : constant Unsigned_32 := 16#0100#;

KEYMOD_NUMLOCK (Unsigned_32)

KEYMOD_NUMLOCK    : constant Unsigned_32 := 16#0200#;

KEYMOD_CAPSLOCK (Unsigned_32)

KEYMOD_CAPSLOCK   : constant Unsigned_32 := 16#0400#;

KEYMOD_INALTSEQ (Unsigned_32)

KEYMOD_INALTSEQ   : constant Unsigned_32 := 16#0800#;

KEYMOD_ACCENT1 (Unsigned_32)

KEYMOD_ACCENT1    : constant Unsigned_32 := 16#1000#;

KEYMOD_ACCENT2 (Unsigned_32)

KEYMOD_ACCENT2    : constant Unsigned_32 := 16#2000#;

KEYMOD_ACCENT3 (Unsigned_32)

KEYMOD_ACCENT3    : constant Unsigned_32 := 16#4000#;

KEYMOD_ACCENT4 (Unsigned_32)

KEYMOD_ACCENT4    : constant Unsigned_32 := 16#8000#;

Subprograms & Entries

Al_Install_Keyboard

function Al_Install_Keyboard return Boolean;

Al_Uninstall_Keyboard

procedure Al_Uninstall_Keyboard;

Al_Is_Keyboard_Installed

function Al_Is_Keyboard_Installed return Boolean;

Al_Set_Keyboard_Leds

function Al_Set_Keyboard_Leds
( leds: Integer ) return Boolean;

Al_Keycode_To_Name

function Al_Keycode_To_Name
( keycode: Integer ) return String;

Al_Get_Keyboard_State

procedure Al_Get_Keyboard_State
( ret_state: in out Allegro_Keyboard_State );

Al_Key_Down

function Al_Key_Down
( state: Allegro_Keyboard_State;
keycode: Integer ) return Boolean;

Al_Get_Keyboard_Event_Source

function Al_Get_Keyboard_Event_Source return A_Allegro_Event_Source;