-- ----------------------------------------------------------------- --
-- AdaSDL --
-- Binding to Simple Direct Media Layer --
-- Copyright (C) 2001 A.M.F.Vargas --
-- Antonio M. F. Vargas --
-- Ponta Delgada - Azores - Portugal --
-- http://www.adapower.net/~avargas --
-- E-mail: avargas@adapower.net --
-- ----------------------------------------------------------------- --
-- --
-- This library is free software; you can redistribute it and/or --
-- modify it under the terms of the GNU General Public --
-- License as published by the Free Software Foundation; either --
-- version 2 of the License, or (at your option) any later version. --
-- --
-- This library is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --
-- General Public License for more details. --
-- --
-- You should have received a copy of the GNU General Public --
-- License along with this library; if not, write to the --
-- Free Software Foundation, Inc., 59 Temple Place - Suite 330, --
-- Boston, MA 02111-1307, USA. --
-- --
-- As a special exception, if other files instantiate generics from --
-- this unit, or you link this unit with other files to produce an --
-- executable, this unit does not by itself cause the resulting --
-- executable to be covered by the GNU General Public License. This --
-- exception does not however invalidate any other reasons why the --
-- executable file might be covered by the GNU Public License. --
-- ----------------------------------------------------------------- --
-- **************************************************************** --
-- This is an Ada binding to SDL ( Simple DirectMedia Layer from --
-- Sam Lantinga - www.libsld.org ) --
-- **************************************************************** --
-- In order to help the Ada programmer, the comments in this file --
-- are, in great extent, a direct copy of the original text in the --
-- SDL header files. --
-- **************************************************************** --
with Interfaces.C;
package SDL.Keysym is
package C renames Interfaces.C;
-- The keyboard syms have been cleverly chosen to map to ASCII
type Key is new C.int;
-- The keyboard syms have been cleverly chosen to map to ASCII
K_UNKNOWN : constant Key := 0;
K_FIRST : constant Key := 0;
K_BACKSPACE : constant Key := 8;
K_TAB : constant Key := 9;
K_CLEAR : constant Key := 12;
K_RETURN : constant Key := 13;
K_PAUSE : constant Key := 19;
K_ESCAPE : constant Key := 27;
K_SPACE : constant Key := 32;
K_EXCLAIM : constant Key := 33;
K_QUOTEDBL : constant Key := 34;
K_HASH : constant Key := 35;
K_DOLLAR : constant Key := 36;
K_AMPERSAND : constant Key := 38;
K_QUOTE : constant Key := 39;
K_LEFTPAREN : constant Key := 40;
K_RIGHTPAREN : constant Key := 41;
K_ASTERISK : constant Key := 42;
K_PLUS : constant Key := 43;
K_COMMA : constant Key := 44;
K_MINUS : constant Key := 45;
K_PERIOD : constant Key := 46;
K_SLASH : constant Key := 47;
K_0 : constant Key := 48;
K_1 : constant Key := 49;
K_2 : constant Key := 50;
K_3 : constant Key := 51;
K_4 : constant Key := 52;
K_5 : constant Key := 53;
K_6 : constant Key := 54;
K_7 : constant Key := 55;
K_8 : constant Key := 56;
K_9 : constant Key := 57;
K_COLON : constant Key := 58;
K_SEMICOLON : constant Key := 59;
K_LESS : constant Key := 60;
K_EQUALS : constant Key := 61;
K_GREATER : constant Key := 62;
K_QUESTION : constant Key := 63;
K_AT : constant Key := 64;
-- Skip uppercase letters
K_LEFTBRACKET : constant Key := 91;
K_BACKSLASH : constant Key := 92;
K_RIGHTBRACKET : constant Key := 93;
K_CARET : constant Key := 94;
K_UNDERSCORE : constant Key := 95;
K_BACKQUOTE : constant Key := 96;
K_a : constant Key := 97;
K_b : constant Key := 98;
K_c : constant Key := 99;
K_d : constant Key := 100;
K_e : constant Key := 101;
K_f : constant Key := 102;
K_g : constant Key := 103;
K_h : constant Key := 104;
K_i : constant Key := 105;
K_j : constant Key := 106;
K_k : constant Key := 107;
K_l : constant Key := 108;
K_m : constant Key := 109;
K_n : constant Key := 110;
K_o : constant Key := 111;
K_p : constant Key := 112;
K_q : constant Key := 113;
K_r : constant Key := 114;
K_s : constant Key := 115;
K_t : constant Key := 116;
K_u : constant Key := 117;
K_v : constant Key := 118;
K_w : constant Key := 119;
K_x : constant Key := 120;
K_y : constant Key := 121;
K_z : constant Key := 122;
K_DELETE : constant Key := 127;
-- End of ASCII mapped keysyms
-- International keyboard syms
K_WORLD_0 : constant Key := 160; -- 0xA0
K_WORLD_1 : constant Key := 161;
K_WORLD_2 : constant Key := 162;
K_WORLD_3 : constant Key := 163;
K_WORLD_4 : constant Key := 164;
K_WORLD_5 : constant Key := 165;
K_WORLD_6 : constant Key := 166;
K_WORLD_7 : constant Key := 167;
K_WORLD_8 : constant Key := 168;
K_WORLD_9 : constant Key := 169;
K_WORLD_10 : constant Key := 170;
K_WORLD_11 : constant Key := 171;
K_WORLD_12 : constant Key := 172;
K_WORLD_13 : constant Key := 173;
K_WORLD_14 : constant Key := 174;
K_WORLD_15 : constant Key := 175;
K_WORLD_16 : constant Key := 176;
K_WORLD_17 : constant Key := 177;
K_WORLD_18 : constant Key := 178;
K_WORLD_19 : constant Key := 179;
K_WORLD_20 : constant Key := 180;
K_WORLD_21 : constant Key := 181;
K_WORLD_22 : constant Key := 182;
K_WORLD_23 : constant Key := 183;
K_WORLD_24 : constant Key := 184;
K_WORLD_25 : constant Key := 185;
K_WORLD_26 : constant Key := 186;
K_WORLD_27 : constant Key := 187;
K_WORLD_28 : constant Key := 188;
K_WORLD_29 : constant Key := 189;
K_WORLD_30 : constant Key := 190;
K_WORLD_31 : constant Key := 191;
K_WORLD_32 : constant Key := 192;
K_WORLD_33 : constant Key := 193;
K_WORLD_34 : constant Key := 194;
K_WORLD_35 : constant Key := 195;
K_WORLD_36 : constant Key := 196;
K_WORLD_37 : constant Key := 197;
K_WORLD_38 : constant Key := 198;
K_WORLD_39 : constant Key := 199;
K_WORLD_40 : constant Key := 200;
K_WORLD_41 : constant Key := 201;
K_WORLD_42 : constant Key := 202;
K_WORLD_43 : constant Key := 203;
K_WORLD_44 : constant Key := 204;
K_WORLD_45 : constant Key := 205;
K_WORLD_46 : constant Key := 206;
K_WORLD_47 : constant Key := 207;
K_WORLD_48 : constant Key := 208;
K_WORLD_49 : constant Key := 209;
K_WORLD_50 : constant Key := 210;
K_WORLD_51 : constant Key := 211;
K_WORLD_52 : constant Key := 212;
K_WORLD_53 : constant Key := 213;
K_WORLD_54 : constant Key := 214;
K_WORLD_55 : constant Key := 215;
K_WORLD_56 : constant Key := 216;
K_WORLD_57 : constant Key := 217;
K_WORLD_58 : constant Key := 218;
K_WORLD_59 : constant Key := 219;
K_WORLD_60 : constant Key := 220;
K_WORLD_61 : constant Key := 221;
K_WORLD_62 : constant Key := 222;
K_WORLD_63 : constant Key := 223;
K_WORLD_64 : constant Key := 224;
K_WORLD_65 : constant Key := 225;
K_WORLD_66 : constant Key := 226;
K_WORLD_67 : constant Key := 227;
K_WORLD_68 : constant Key := 228;
K_WORLD_69 : constant Key := 229;
K_WORLD_70 : constant Key := 230;
K_WORLD_71 : constant Key := 231;
K_WORLD_72 : constant Key := 232;
K_WORLD_73 : constant Key := 233;
K_WORLD_74 : constant Key := 234;
K_WORLD_75 : constant Key := 235;
K_WORLD_76 : constant Key := 236;
K_WORLD_77 : constant Key := 237;
K_WORLD_78 : constant Key := 238;
K_WORLD_79 : constant Key := 239;
K_WORLD_80 : constant Key := 240;
K_WORLD_81 : constant Key := 241;
K_WORLD_82 : constant Key := 242;
K_WORLD_83 : constant Key := 243;
K_WORLD_84 : constant Key := 244;
K_WORLD_85 : constant Key := 245;
K_WORLD_86 : constant Key := 246;
K_WORLD_87 : constant Key := 247;
K_WORLD_88 : constant Key := 248;
K_WORLD_89 : constant Key := 249;
K_WORLD_90 : constant Key := 250;
K_WORLD_91 : constant Key := 251;
K_WORLD_92 : constant Key := 252;
K_WORLD_93 : constant Key := 253;
K_WORLD_94 : constant Key := 254;
K_WORLD_95 : constant Key := 255; -- 0xFF
-- Numeric keypad
K_KP0 : constant Key := 256;
K_KP1 : constant Key := 257;
K_KP2 : constant Key := 258;
K_KP3 : constant Key := 259;
K_KP4 : constant Key := 260;
K_KP5 : constant Key := 261;
K_KP6 : constant Key := 262;
K_KP7 : constant Key := 263;
K_KP8 : constant Key := 264;
K_KP9 : constant Key := 265;
K_KP_PERIOD : constant Key := 266;
K_KP_DIVIDE : constant Key := 267;
K_KP_MULTIPLY : constant Key := 268;
K_KP_MINUS : constant Key := 269;
K_KP_PLUS : constant Key := 270;
K_KP_ENTER : constant Key := 271;
K_KP_EQUALS : constant Key := 272;
-- Arrows + Home/End pad
K_UP : constant Key := 273;
K_DOWN : constant Key := 274;
K_RIGHT : constant Key := 275;
K_LEFT : constant Key := 276;
K_INSERT : constant Key := 277;
K_HOME : constant Key := 278;
K_END : constant Key := 279;
K_PAGEUP : constant Key := 280;
K_PAGEDOWN : constant Key := 281;
-- Function keys
K_F1 : constant Key := 282;
K_F2 : constant Key := 283;
K_F3 : constant Key := 284;
K_F4 : constant Key := 285;
K_F5 : constant Key := 286;
K_F6 : constant Key := 287;
K_F7 : constant Key := 288;
K_F8 : constant Key := 289;
K_F9 : constant Key := 290;
K_F10 : constant Key := 291;
K_F11 : constant Key := 292;
K_F12 : constant Key := 293;
K_F13 : constant Key := 294;
K_F14 : constant Key := 295;
K_F15 : constant Key := 296;
-- Key state modifier keys
K_NUMLOCK : constant Key := 300;
K_CAPSLOCK : constant Key := 301;
K_SCROLLOCK : constant Key := 302;
K_RSHIFT : constant Key := 303;
K_LSHIFT : constant Key := 304;
K_RCTRL : constant Key := 305;
K_LCTRL : constant Key := 306;
K_RALT : constant Key := 307;
K_LALT : constant Key := 308;
K_RMETA : constant Key := 309;
K_LMETA : constant Key := 310;
K_LSUPER : constant Key := 311; -- Left "Windows" key
K_RSUPER : constant Key := 312; -- Right "Windows" key
K_MODE : constant Key := 313; -- "Alt Gr" key
K_COMPOSE : constant Key := 314; -- Multi-key compose key
-- Miscellaneous function keys
K_HELP : constant Key := 315;
K_PRINT : constant Key := 316;
K_SYSREQ : constant Key := 317;
K_BREAK : constant Key := 318;
K_MENU : constant Key := 319;
K_POWER : constant Key := 320; -- Power Macintosh power key */
K_EURO : constant Key := 321; -- Some european keyboards */
-- Add any other keys here
K_LAST : constant Key := 322;
-- Enumeration of valid key mods (possibly OR'd together)
type SDLMod is mod 2**32;
pragma Convention (C, SDLMod);
KMOD_NONE : constant SDLMod := 16#0000#;
KMOD_LSHIFT : constant SDLMod := 16#0001#;
KMOD_RSHIFT : constant SDLMod := 16#0002#;
KMOD_LCTRL : constant SDLMod := 16#0040#;
KMOD_RCTRL : constant SDLMod := 16#0080#;
KMOD_LALT : constant SDLMod := 16#0100#;
KMOD_RALT : constant SDLMod := 16#0200#;
KMOD_LMETA : constant SDLMod := 16#0400#;
KMOD_RMETA : constant SDLMod := 16#0800#;
KMOD_NUM : constant SDLMod := 16#1000#;
KMOD_CAPS : constant SDLMod := 16#2000#;
KMOD_MODE : constant SDLMod := 16#4000#;
KMOD_RESERVED : constant SDLMod := 16#8000#;
KMOD_CTRL : constant SDLMod := (KMOD_LCTRL or KMOD_RCTRL);
KMOD_SHIFT : constant SDLMod := (KMOD_LSHIFT or KMOD_RSHIFT);
KMOD_ALT : constant SDLMod := (KMOD_LALT or KMOD_RALT);
KMOD_META : constant SDLMod := (KMOD_LMETA or KMOD_RMETA);
end SDL.Keysym;
syntax highlighted by Code2HTML, v. 0.9.1