summaryrefslogtreecommitdiff
path: root/jaws/src/input.js
diff options
context:
space:
mode:
Diffstat (limited to 'jaws/src/input.js')
-rwxr-xr-xjaws/src/input.js203
1 files changed, 0 insertions, 203 deletions
diff --git a/jaws/src/input.js b/jaws/src/input.js
deleted file mode 100755
index fd3195f..0000000
--- a/jaws/src/input.js
+++ /dev/null
@@ -1,203 +0,0 @@
-var jaws = (function(jaws) {
-
- var pressed_keys = {}
- var previously_pressed_keys = {}
- var keyCodes = {"0":"48","1":"49","2":"50","3":"51","4":"52","5":"53","6":"54","7":"55","8":"56","9":"57","backspace":"8","tab":"9","enter":"13","shift":"16","ctrl":"17","alt":"18","pause":"19","caps_lock":"20","esc":"27","space":"32","page_up":"33","page_down":"34","end":"35","home":"36","left":"37","up":"38","right":"39","down":"40","insert":"45","delete":"46","a":"65","b":"66","c":"67","d":"68","e":"69","f":"70","g":"71","h":"72","i":"73","j":"74","k":"75","l":"76","m":"77","n":"78","o":"79","p":"80","q":"81","r":"82","s":"83","t":"84","u":"85","v":"86","w":"87","x":"88","y":"89","z":"90","windows_left":"91","windows_right":"92","select":"93","numpad0":"96","numpad1":"97","numpad2":"98","numpad3":"99","numpad4":"100","numpad5":"101","numpad6":"102","numpad7":"103","numpad8":"104","numpad9":"105","asterisk":"106","plus":"107","minus":"109","decimal_point":"110","divide":"111","f1":"112","f2":"113","f3":"114","f4":"115","f5":"116","f6":"117","f7":"118","f8":"119","f9":"120","numlock":"144","scrollock":"145","semicolon":"186","equals":"187","comma":"188","dash":"189","period":"190","slash":"191","grave_accent":"192","open_bracket":"219","backslash":"220","close_bracket":"221","single_quote":"222"};
- var keycodeNames = {"8":"backspace","9":"tab","13":"enter","16":"shift","17":"ctrl","18":"alt","19":"pause","20":"caps_lock","27":"esc","32":"space","33":"page_up","34":"page_down","35":"end","36":"home","37":"left","38":"up","39":"right","40":"down","45":"insert","46":"delete","48":"0","49":"1","50":"2","51":"3","52":"4","53":"5","54":"6","55":"7","56":"8","57":"9","65":"a","66":"b","67":"c","68":"d","69":"e","70":"f","71":"g","72":"h","73":"i","74":"j","75":"k","76":"l","77":"m","78":"n","79":"o","80":"p","81":"q","82":"r","83":"s","84":"t","85":"u","86":"v","87":"w","88":"x","89":"y","90":"z","91":"windows_left","92":"windows_right","93":"select","96":"numpad0","97":"numpad1","98":"numpad2","99":"numpad3","100":"numpad4","101":"numpad5","102":"numpad6","103":"numpad7","104":"numpad8","105":"numpad9","106":"asterisk","107":"plus","109":"minus","110":"decimal_point","111":"divide","112":"f1","113":"f2","114":"f3","115":"f4","116":"f5","117":"f6","118":"f7","119":"f8","120":"f9","144":"numlock","145":"scrollock","186":"semicolon","187":"equals","188":"comma","189":"dash","190":"period","191":"slash","192":"grave_accent","219":"open_bracket","220":"backslash","221":"close_bracket","222":"single_quote"};
- var on_keydown_callbacks = []
- var on_keyup_callbacks = []
- var mousebuttoncode_to_string = []
- var ie_mousebuttoncode_to_string = []
- var prevent_default_keys = []
-
-/** @private
- * Map all javascript keycodes to easy-to-remember letters/words
- */
-jaws.setupInput = function() {
- var m = []
-
- m[0] = "left_mouse_button"
- m[1] = "center_mouse_button"
- m[2] = "right_mouse_button"
-
- var ie_m = [];
- ie_m[1] = "left_mouse_button";
- ie_m[2] = "right_mouse_button";
- ie_m[4] = "center_mouse_button";
-
- mousebuttoncode_to_string = m
- ie_mousebuttoncode_to_string = ie_m;
-
- window.addEventListener("keydown", handleKeyDown);
- window.addEventListener("keyup", handleKeyUp);
-
- var jawswindow = jaws.canvas || jaws.dom
- jawswindow.addEventListener("mousedown", handleMouseDown, false);
- jawswindow.addEventListener("mouseup", handleMouseUp, false);
- jawswindow.addEventListener("touchstart", handleTouchStart, false);
- jawswindow.addEventListener("touchend", handleTouchEnd, false);
-
- window.addEventListener("blur", resetPressedKeys, false);
-
- // this turns off the right click context menu which screws up the mouseup event for button 2
- document.oncontextmenu = function() {return false};
-}
-
-/** @private
- * Reset input-hash. Called when game is blurred so a key-controlled player doesn't keep on moving when the game isn't focused.
- */
-function resetPressedKeys(e) {
- for (var x in pressed_keys) {
- delete pressed_keys[x];
- }
-}
-
-/** @private
- * handle event "onkeydown" by remembering what key was pressed
- */
-function handleKeyUp(e) {
- /* event = (e) ? e : window.event; */ /* Seems unnecessary because e is assumed to be non-null later */
- var code = code = e.keyCode;
- pressed_keys[code] = false;
- if (on_keyup_callbacks[code]) {
- on_keyup_callbacks[code](code)
- e.preventDefault()
- } else if (prevent_default_keys[code]) {
- e.preventDefault();
- }
-}
-
-/** @private
- * handle event "onkeydown" by remembering what key was un-pressed
- */
-function handleKeyDown(e) {
- /* event = (e) ? e : window.event; */ /* Seems unnecessary because e is assumed to be non-null later */
- var code = code = e.keyCode;
- pressed_keys[code] = true;
- if (on_keydown_callbacks[code]) {
- on_keydown_callbacks[code](code);
- e.preventDefault();
- } else if (prevent_default_keys[code]) {
- e.preventDefault();
- }
-}
-/** @private
- * handle event "onmousedown" by remembering what button was pressed
- */
-function handleMouseDown(e) {
- /* event = (e) ? e : window.event; */ /* Seems unnecessary because e is assumed to be non-null later */
- var human_name = mousebuttoncode_to_string[e.button]; // 0 1 2
- if (navigator.appName == "Microsoft Internet Explorer"){
- human_name = ie_mousebuttoncode_to_string[e.button];
- }
- pressed_keys[human_name] = true
- if(on_keydown_callbacks[human_name]) {
- on_keydown_callbacks[human_name](human_name);
- e.preventDefault();
- }
-}
-
-
-/** @private
- * handle event "onmouseup" by remembering what button was un-pressed
- */
-function handleMouseUp(e) {
- /* event = (e) ? e : window.event; */ /* Seems unnecessary because e is assumed to be non-null later */
- var human_name = mousebuttoncode_to_string[e.button]
-
- if (navigator.appName == "Microsoft Internet Explorer"){
- human_name = ie_mousebuttoncode_to_string[e.button];
- }
- pressed_keys[human_name] = false;
- if(on_keyup_callbacks[human_name]) {
- on_keyup_callbacks[human_name](human_name);
- e.preventDefault();
- }
-}
-
-/** @private
- * handle event "touchstart" by remembering what button was pressed
- */
-function handleTouchStart(e) {
- /* event = (e) ? e : window.event; */ /* Seems unnecessary because e is assumed to be non-null later */
- pressed_keys["left_mouse_button"] = true
- jaws.mouse_x = e.touches[0].pageX - jaws.canvas.offsetLeft;
- jaws.mouse_y = e.touches[0].pageY - jaws.canvas.offsetTop;
- //e.preventDefault()
-}
-
-/** @private
- * handle event "touchend" by remembering what button was pressed
- */
-function handleTouchEnd(e) {
- pressed_keys["left_mouse_button"] = false;
- jaws.mouse_x = undefined;
- jaws.mouse_y = undefined;
-}
-
-/**
- * Prevents default browseraction for given keys.
- * @example
- * jaws.preventDefaultKeys( ["down"] ) // Stop down-arrow-key from scrolling page down
- */
-jaws.preventDefaultKeys = function(array_of_strings) {
- var list = arguments;
- for(var i=0; i < list.length; i++) {
- prevent_default_keys[list[i]] = true;
- }
-}
-
-/**
- * Array: If a key is currently pressed, the value associated to the key is true, otherwise false or not present.
- */
-jaws.pressed = pressed_keys;
-
-/**
- * Mapping key names to codes, and vice-versa
- */
-jaws.keyCodes = keyCodes;
-jaws.keycodeNames = keycodeNames;
-
-/**
- * sets up a callback for a key (or array of keys) to call when it's pressed down
- *
- * @example
- * // call goLeft() when left arrow key is pressed
- * jaws.on_keypress(jaws.keyCode("left"), goLeft)
- *
- * // call fireWeapon() when SPACE or CTRL is pressed
- * jaws.on_keypress([jaws.keyCodes["space"],jaws.keyCodes["ctrl"]], fireWeapon)
- */
-jaws.on_keydown = function(key, callback) {
- if (jaws.isArray(key)) {
- for (var i=0; key[i]; i++) {
- on_keydown_callbacks[key[i]] = callback;
- }
- } else {
- on_keydown_callbacks[key] = callback;
- }
-}
-
-/**
- * sets up a callback when a key (or array of keys) to call when it's released
- */
-jaws.on_keyup = function(key, callback) {
- if (jaws.isArray(key)) {
- for (var i=0; key[i]; i++) {
- on_keyup_callbacks[key[i]] = callback;
- }
- } else {
- on_keyup_callbacks[key] = callback;
- }
-}
-
-/** @private
- * Clean up all callbacks set by on_keydown / on_keyup
- */
-jaws.clearKeyCallbacks = function() {
- on_keyup_callbacks = [];
- on_keydown_callbacks = [];
-}
-
-return jaws;
-})(jaws || {});