From 4048b6bf6ceac02c0b1e8c787317070a3fffa2a7 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 25 Jun 2013 18:15:38 -0400 Subject: Create input module with enumeration for keycodes. --- 2d/input.scm | 265 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 2d/input.scm diff --git a/2d/input.scm b/2d/input.scm new file mode 100644 index 0000000..fcc1195 --- /dev/null +++ b/2d/input.scm @@ -0,0 +1,265 @@ +;;; guile-2d +;;; Copyright (C) 2013 David Thompson +;;; +;;; Guile-2d is free software: you can redistribute it and/or modify it +;;; under the terms of the GNU Lesser General Public License as +;;; published by the Free Software Foundation, either version 3 of the +;;; License, or (at your option) any later version. +;;; +;;; Guile-2d 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 +;;; Lesser General Public License for more details. +;;; +;;; You should have received a copy of the GNU Lesser General Public +;;; License along with this program. If not, see +;;; . + +;;; Commentary: +;; +;; Keyboard and mouse input. +;; +;;; Code: + +(define-module (2d input) + #:use-module (figl runtime) ;; For the define-enumeration macro + #:export (keycode)) + +;;; +;;; Keyboard +;;; + +;; Keycodes +(define-enumeration + keycode + (backspace 8) + (tab 9) + (clear 12) + (return 13) + (pause 19) + (escape 27) + (space 32) + (exclaim 33) + (quotedbl 34) + (hash 35) + (dollar 36) + (ampersand 38) + (quote 39) + (leftparen 40) + (rightparen 41) + (asterisk 42) + (plus 43) + (comma 44) + (minus 45) + (period 46) + (slash 47) + (0 48) + (1 49) + (2 50) + (3 51) + (4 52) + (5 53) + (6 54) + (7 55) + (8 56) + (9 57) + (colon 58) + (semicolon 59) + (less 60) + (equals 61) + (greater 62) + (question 63) + (at 64) + (leftbracket 91) + (backslash 92) + (rightbracket 93) + (caret 94) + (underscore 95) + (backquote 96) + (a 97) + (b 98) + (c 99) + (d 100) + (e 101) + (f 102) + (g 103) + (h 104) + (i 105) + (j 106) + (k 107) + (l 108) + (m 109) + (n 110) + (o 111) + (p 112) + (q 113) + (r 114) + (s 115) + (t 116) + (u 117) + (v 118) + (w 119) + (x 120) + (y 121) + (z 122) + (delete 127) + (world-0 160) + (world-1 161) + (world-2 162) + (world-3 163) + (world-4 164) + (world-5 165) + (world-6 166) + (world-7 167) + (world-8 168) + (world-9 169) + (world-10 170) + (world-11 171) + (world-12 172) + (world-13 173) + (world-14 174) + (world-15 175) + (world-16 176) + (world-17 177) + (world-18 178) + (world-19 179) + (world-20 180) + (world-21 181) + (world-22 182) + (world-23 183) + (world-24 184) + (world-25 185) + (world-26 186) + (world-27 187) + (world-28 188) + (world-29 189) + (world-30 190) + (world-31 191) + (world-32 192) + (world-33 193) + (world-34 194) + (world-35 195) + (world-36 196) + (world-37 197) + (world-38 198) + (world-39 199) + (world-40 200) + (world-41 201) + (world-42 202) + (world-43 203) + (world-44 204) + (world-45 205) + (world-46 206) + (world-47 207) + (world-48 208) + (world-49 209) + (world-50 210) + (world-51 211) + (world-52 212) + (world-53 213) + (world-54 214) + (world-55 215) + (world-56 216) + (world-57 217) + (world-58 218) + (world-59 219) + (world-60 220) + (world-61 221) + (world-62 222) + (world-63 223) + (world-64 224) + (world-65 225) + (world-66 226) + (world-67 227) + (world-68 228) + (world-69 229) + (world-70 230) + (world-71 231) + (world-72 232) + (world-73 233) + (world-74 234) + (world-75 235) + (world-76 236) + (world-77 237) + (world-78 238) + (world-79 239) + (world-80 240) + (world-81 241) + (world-82 242) + (world-83 243) + (world-84 244) + (world-85 245) + (world-86 246) + (world-87 247) + (world-88 248) + (world-89 249) + (world-90 250) + (world-91 251) + (world-92 252) + (world-93 253) + (world-94 254) + (world-95 255) + (kp0 256) + (kp1 257) + (kp2 258) + (kp3 259) + (kp4 260) + (kp5 261) + (kp6 262) + (kp7 263) + (kp8 264) + (kp9 265) + (kp-period 266) + (kp-divide 267) + (kp-multiply 268) + (kp-minus 269) + (kp-plus 270) + (kp-enter 271) + (kp-equals 272) + (up 273) + (down 274) + (right 275) + (left 276) + (insert 277) + (home 278) + (end 279) + (pageup 280) + (pagedown 281) + (f1 282) + (f2 283) + (f3 284) + (f4 285) + (f5 286) + (f6 287) + (f7 288) + (f8 289) + (f9 290) + (f10 291) + (f11 292) + (f12 293) + (f13 294) + (f14 295) + (f15 296) + (numlock 300) + (capslock 301) + (scrollock 302) + (rshift 303) + (lshift 304) + (rctrl 305) + (lctrl 306) + (ralt 307) + (lalt 308) + (rmeta 309) + (lmeta 310) + (lsuper 311) + (rsuper 312) + (mode 313) + (compose 314) + (help 315) + (print 316) + (sysreq 317) + (break 318) + (menu 319) + (power 320) + (euro 321) + (undo 322)) -- cgit v1.2.3