((section 2 "Outdated egg!" (p "This is an egg for CHICKEN 4, the unsupported old release.  You're almost certainly looking for " (int-link "/eggref/5/allegro" "the CHICKEN 5 version of this egg") ", if it exists.") (p "If it does not exist, there may be equivalent functionality provided by another egg; have a look at the " (link "https://wiki.call-cc.org/chicken-projects/egg-index-5.html" "egg index") ". Otherwise, please consider porting this egg to the current version of CHICKEN.") (tags "allegro" "game")) (section 2 "allegro" (p "This document pertains to user input related methods found in the Allegro egg.") (p "Please see the main [allegro] wiki page for more information.") (toc)) (section 2 "Constants" (ul (li "joystick-max-axes") (li "jostick-max-sticks") (li "joystick-max-buttons") (li "mouse-max-extra-axis"))) (section 2 "Enums" (section 3 "cursor-type" (def (sig (procedure "(cursor-type->int cursor-type)" (id cursor-type->int))) (p (tt "cursor-type") " may be one of the following symbols:") (ul (li "none") (li "default") (li "arrow") (li "busy") (li "question") (li "edit") (li "move") (li "resize-north") (li "resize-west") (li "resize-south") (li "resize-east") (li "resize-northwest") (li "resize-southwest") (li "resize-southeast") (li "resize-northeast") (li "progress") (li "precision") (li "link") (li "alt-select") (li "unavailable"))) (def (sig (procedure "(int->cursor-type integer)" (id int->cursor-type))))) (section 3 "joystick-flag" (def (sig (procedure "(joystick-flag->int joystick-flag)" (id joystick-flag->int))) (p (tt "joystick-flag") " may be one of the following symbols:") (ul (li "digital") (li "analog"))) (def (sig (procedure "(int->joystick-flag integer)" (id int->joystick-flag))))) (section 3 "key" (def (sig (procedure "(key->int key)" (id key->int))) (p (tt "key") " may be one of the following symbols:") (ul (li "a") (li "b") (li "c") (li "d") (li "e") (li "f") (li "g") (li "h") (li "i") (li "j") (li "k") (li "l") (li "m") (li "n") (li "o") (li "p") (li "q") (li "r") (li "s") (li "t") (li "u") (li "v") (li "w") (li "x") (li "y") (li "z") (li "one") (li "two") (li "three") (li "four") (li "five") (li "six") (li "seven") (li "eight") (li "nine") (li "zero") (li "pad-one") (li "pad-two") (li "pad-three") (li "pad-four") (li "pad-five") (li "pad-six") (li "pad-seven") (li "pad-eight") (li "pad-nine") (li "pad-zerp") (li "f1") (li "f2") (li "f3") (li "f4") (li "f5") (li "f6") (li "f7") (li "f9") (li "f9") (li "f10") (li "f11") (li "f12") (li "escape") (li "tilde") (li "minus") (li "equals") (li "backspace") (li "tab") (li "openbrace") (li "enter") (li "semicolon") (li "quote") (li "backslash") (li "backslash2") (li "comma") (li "fullstop") (li "slash") (li "space") (li "insert") (li "delete") (li "home") (li "end") (li "pgup") (li "pgdn") (li "left") (li "right") (li "up") (li "down") (li "pad-slash") (li "pad-asterisk") (li "pad-minus") (li "pad-plus") (li "pad-delete") (li "pad-enter") (li "printscreen") (li "pause") (li "abnt-c1") (li "yen") (li "kana") (li "convert") (li "noconvert") (li "at") (li "circumflex") (li "colon2") (li "kanji") (li "pad-equals") (li "backquote") (li "semicolon2") (li "command") (li "unknown") (li "lshift") (li "rshift") (li "lctrl") (li "rctrl") (li "alt") (li "altgr") (li "lwin") (li "rwin") (li "menu") (li "scrolllock") (li "numlock") (li "capslock"))) (def (sig (procedure "(int->key integer)" (id int->key))))) (section 3 "keymod" (def (sig (procedure "(keymod->int keymod)" (id keymod->int))) (p (tt "keymod") " may be one of the following symbols:") (ul (li "shift") (li "ctrl") (li "alt") (li "lwin") (li "rwin") (li "menu") (li "altgr") (li "command") (li "scrolllock") (li "numlock") (li "capslock") (li "inaltseq") (li "accent1") (li "accent2") (li "accent3") (li "accent4"))) (def (sig (procedure "(int->keymod integer)" (id int->keymod)))))) (section 2 "Records" (section 3 "cursor" (def (sig (record "cursor" (id cursor))))) (section 3 "joystick" (def (sig (record "joystick" (id joystick))))) (section 3 "joystick-state" (def (sig (record "joystick-state" (id joystick-state)) (procedure "(make-joystick-state*)" (id make-joystick-state*)) (procedure "(make-joystick-state)" (id make-joystick-state)) (procedure "(free-joystick-state! joystick-state)" (id free-joystick-state!)) (procedure "(joystick-state-button int)" (id joystick-state-button))))) (section 3 "keyboard" (def (sig (record "keyboard" (id keyboard))))) (section 3 "keyboard-state" (def (sig (record "keyboard-state" (id keyboard-state)) (procedure "(make-keyboard-state*)" (id make-keyboard-state*)) (procedure "(make-keyboard-state)" (id make-keyboard-state)) (procedure "(free-keyboard-state! keyboard-state)" (id free-keyboard-state!)) (procedure "(keyboard-state-display)" (id keyboard-state-display))))) (section 3 "mouse" (def (sig (record "mouse" (id mouse))))) (section 3 "mouse-cursor" (def (sig (record "mouse-cursor" (id mouse-cursor))))) (section 3 "mouse-state" (def (sig (record "mouse-state" (id mouse-state)) (procedure "(make-mouse-state)" (id make-mouse-state)) (procedure "(make-mouse-state*)" (id make-mouse-state*)) (procedure "(free-mouse-state! mouse-state)" (id free-mouse-state!)) (procedure "(mouse-state-x mouse-state)" (id mouse-state-x)) (procedure "(mouse-state-y mouse-state)" (id mouse-state-y)) (procedure "(mouse-state-z mouse-state)" (id mouse-state-z)) (procedure "(mouse-state-w mouse-state)" (id mouse-state-w)) (procedure "(mouse-state-buttons mouse-state)" (id mouse-state-buttons)) (procedure "(mouse-state-pressure mouse-state)" (id mouse-state-pressure)) (procedure "(mouse-state-axis mouse-state integer)" (id mouse-state-axis)) (procedure "(mouse-state-display mouse-state)" (id mouse-state-display)))))) (section 2 "Functions" (section 3 "Joystick" (def (sig (procedure "(joystick-addon-install)" (id joystick-addon-install))) (p "Implements al_install_joystick.")) (def (sig (procedure "(joystick-addon-uninstall)" (id joystick-addon-uninstall))) (p "Implements al_uninstall_joystick.") (p "<procedure>(joystick-addon-installed?)<procedure>") (p "Implements al_is_joystick_installed.")) (def (sig (procedure "(joystick-addon-reconfigure)" (id joystick-addon-reconfigure))) (p "Implements al_reconfigure_joysticks.") (p "<procedure>(joystick-event-source)<procedure>") (p "Implements al_get_joystick_event_source.")) (def (sig (procedure "(joystick-count)" (id joystick-count))) (p "Implements al_get_num_joysticks.")) (def (sig (procedure "(joystick-ref integer)" (id joystick-ref))) (p "Implements al_get_joystick.")) (def (sig (procedure "(joystick-release joystick)" (id joystick-release))) (p "Implements al_release_joystick.")) (def (sig (procedure "(joystick-active? joystick)" (id joystick-active?))) (p "Implements al_get_joystick_active.")) (def (sig (procedure "(joystick-name joystick)" (id joystick-name))) (p "Implements al_get_joystick_name.")) (def (sig (procedure "(joystick-axes-count joystick (integer stick))" (id joystick-axes-count))) (p "Implements al_get_joystick_num_axes.")) (def (sig (procedure "(joystick-button-count joystick)" (id joystick-button-count))) (p "Implements al_get_joystick_num_buttons.")) (def (sig (procedure "(joystick-button-name joystick (integer button))" (id joystick-button-name))) (p "Implements al_get_joystick_button_name.")) (def (sig (procedure "(joystick-state-init! joystick-state joystick)" (id joystick-state-init!))) (p "Implements al_get_joystick_state.")) (def (sig (procedure "(joystick-state-axis joystick-state (integer stick) (integer axis))" (id joystick-state-axis))) (p "Retrieves desired axis value for a particular stick; #f if either stick or axis is out of available bounds."))) (section 3 "Keyboard" (def (sig (procedure "(keyboard-addon-installed?)" (id keyboard-addon-installed?))) (p "Implements al_is_keyboard_installed.")) (def (sig (procedure "(keyboard-addon-install)" (id keyboard-addon-install))) (p "Implements al_install_keyboard.")) (def (sig (procedure "(keyboard-addon-uninstall)" (id keyboard-addon-uninstall))) (p "Implements al_uninstall_keyboard.")) (def (sig (procedure "(keycode->string key)" (id keycode->string))) (p "Implements al_keycode_to_name. Not strictly necessary, since the enums are symbols which can easily be converted to strings.")) (def (sig (procedure "(keyboard-event-source)" (id keyboard-event-source))) (p "Implements al_get_keyboard_event_source.")) (def (sig (procedure "(keyboard-led-set! integer)" (id keyboard-led-set!))) (p "Implements al_set_keyboard_leds.")) (def (sig (procedure "(keyboard-state-init! keyboard-state)" (id keyboard-state-init!))) (p "Implements al_get_keyboard_state.")) (def (sig (procedure "(keyboard-state-key-down? keyboard-state key)" (id keyboard-state-key-down?))) (p "Implements al_key_down.")) (def (sig (procedure "(keyboard-three-finger-flag?)" (id keyboard-three-finger-flag?))) (p "Wraps _al_three_finger_flag.")) (def (sig (procedure "(keyboard-led-flag?)" (id keyboard-led-flag?))) (p "Wraps _al_key_led_flag."))) (section 3 "Mouse" (def (sig (procedure "(mouse-addon-installed?)" (id mouse-addon-installed?))) (p "Implements al_is_mouse_installed.")) (def (sig (procedure "(mouse-addon-install)" (id mouse-addon-install))) (p "Implements al_install_mouse.")) (def (sig (procedure "(mouse-addon-uninstall)" (id mouse-addon-uninstall))) (p "Implements al_uninstall_mouse.")) (def (sig (procedure "(mouse-button-count)" (id mouse-button-count))) (p "Implements al_get_mouse_num_buttons.")) (def (sig (procedure "(mouse-axes-count)" (id mouse-axes-count))) (p "Implements al_get_mouse_num_axes.")) (def (sig (procedure "(mouse-xy-set! display (integer x) (integer y))" (id mouse-xy-set!))) (p "Implements al_set_mouse_xy.")) (def (sig (procedure "(mouse-z-set! display integer)" (id mouse-z-set!))) (p "Implements al_set_mouse_z.")) (def (sig (procedure "(mouse-w-set! display integer)" (id mouse-w-set!))) (p "Implements al_set_mouse_w.")) (def (sig (procedure "(mouse-event-source)" (id mouse-event-source))) (p "Implements al_get_mouse_event_source.") (p "<procedure>(mouse-state-init! mouse-state)</procedure.") (p "Implements al_get_mouse_state.")) (def (sig (procedure "(mouse-state-button-down mouse-state (integer button))" (id mouse-state-button-down))) (p "Implements al_mouse_button_down.")) (def (sig (procedure "(mouse-state-axis mouse-state (integer axis))" (id mouse-state-axis))) (p "Implements al_get_mouse_state_axis.")) (def (sig (procedure "(mouse-axis-set! (integer axis) (integer value))" (id mouse-axis-set!))) (p "Implements al_set_mouse_axis.")) (def (sig (procedure "(make-cursor* (bitmap sprite) (integer xfocus) (integer yfocus))" (id make-cursor*))) (p "Implements al_create_mouse_cursor.")) (def (sig (procedure "(make-cursor (bitmap sprite) (integer xfocus) (integer yfocus))" (id make-cursor))) (p "Implements al_create_mouse_cursor, with (free-cursor!) declared as a finalizer.")) (def (sig (procedure "(free-cursor! cursor)" (id free-cursor!))) (p "Implements al_destroy_mouse_cursor.")) (def (sig (procedure "(mouse-cursor-position)" (id mouse-cursor-position))) (p "Returns a 2-element list consisting of the x and y position of the mouse cursor.")) (def (sig (procedure "(mouse-ungrab)" (id mouse-ungrab))) (p "Implements al_ungrab_mouse.")) (def (sig (procedure "(display-grab-mouse! display)" (id display-grab-mouse!))) (p "Implements al_grab_mouse.")) (def (sig (procedure "(display-cursor-set! display mouse-cursor)" (id display-cursor-set!))) (p "Implements al_set_mouse_cursor.")) (def (sig (procedure "(display-hide-cursor! display)" (id display-hide-cursor!))) (p "Implements al_hide_mouse_cursor.")) (def (sig (procedure "(display-system-mouse-cursor-set! display cursor-type)" (id display-system-mouse-cursor-set!))) (p "Implements al_set_system_mouse_cursor.")))))