aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java301
1 files changed, 273 insertions, 28 deletions
diff --git a/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java b/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java
index fdef54d02..5c2a69142 100644
--- a/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java
+++ b/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java
@@ -42,6 +42,7 @@ import java.nio.ByteBuffer;
import jogamp.newt.WindowImpl;
import com.jogamp.common.nio.StructAccessor;
+import com.jogamp.newt.Window;
import com.jogamp.newt.event.InputEvent;
import com.jogamp.newt.event.WindowEvent;
import com.jogamp.newt.event.WindowListener;
@@ -120,6 +121,7 @@ public class LinuxEventDeviceTracker implements WindowListener {
}
public static void main(String[] args ){
+ System.setProperty("newt.debug.Window.KeyEvent", "true");
LinuxEventDeviceTracker.getSingleton();
try {
Thread.sleep(30000);
@@ -293,11 +295,14 @@ public class LinuxEventDeviceTracker implements WindowListener {
// TODO: handle headphone/hdmi connector events
}
- //System.out.println("[time "+timeSeconds+":"+timeSecondFraction+"] type "+type+" / code "+code+" = value "+value);
+ if(Window.DEBUG_KEY_EVENT) {
+ System.out.println("[time "+timeSeconds+":"+timeSecondFraction+"] type "+type+" / code "+code+" = value "+value);
+ }
} else {
- //if(Window.DEBUG_KEY_EVENT)
- System.out.println("[time "+timeSeconds+":"+timeSecondFraction+"] type "+type+" / code "+code+" = value "+value);
+ if(Window.DEBUG_KEY_EVENT) {
+ System.out.println("[time "+timeSeconds+":"+timeSecondFraction+"] type "+type+" / code "+code+" = value "+value);
+ }
}
}
if(null != fis) {
@@ -546,7 +551,7 @@ public class LinuxEventDeviceTracker implements WindowListener {
// TODO: add mappings for japanese special buttons
case 85: // zenkakuhankaku
case 86: // 102nd
- return 0; // FIXME
+ break; // FIXME
case 87:
return KeyEvent.VK_F11;
@@ -561,13 +566,13 @@ public class LinuxEventDeviceTracker implements WindowListener {
return KeyEvent.VK_HIRAGANA;
case 92: // kenkan
- return 0; // FIXME
+ break; // FIXME
case 93: // katakana hiragana
- return 0; // FIXME
+ break; // FIXME
case 94: // mu henkan
- return 0; // FIXME
+ break; // FIXME
case 95: // kp jp comma
- return 0; // FIXME
+ break; // FIXME
case 97: // right ctrl
return KeyEvent.VK_CONTROL;
@@ -575,12 +580,12 @@ public class LinuxEventDeviceTracker implements WindowListener {
return KeyEvent.VK_SLASH;
case 99: // sysrq
- return 0; // FIXME
+ break; // FIXME
case 100: // right alt
return KeyEvent.VK_ALT;
case 101: // linefeed
- return 0; // FIXME
+ break; // FIXME
case 102: // home
return KeyEvent.VK_HOME;
case 103: // KEY_UP
@@ -603,39 +608,279 @@ public class LinuxEventDeviceTracker implements WindowListener {
return KeyEvent.VK_DELETE;
case 112: // macro
- return 0; //FIXME DEAD_MACRON?
+ break; // FIXME DEAD_MACRON?
case 113: // mute
- return 0; //FIXME
+ break; // FIXME
case 114: // vol up
- return 0; //FIXME
+ break; // FIXME
case 115: // vol down
- return 0; //FIXME
+ break; // FIXME
case 116: // power
- return 0; //FIXME
+ break; // FIXME
case 117: // kp equals
return KeyEvent.VK_EQUALS;
case 118: // kp plus minux
- return 0; // FIXME
+ break; // FIXME
case 119: // pause
return KeyEvent.VK_PAUSE;
case 120: // scale AL compiz scale expose
- return 0;
+ break; // FIXME
case 121: // kp comma
return KeyEvent.VK_COMMA;
-
- default:
- //System.out.println("LinuxEVKey2NewtVKey: Unmapped EVKey "+EVKey);
+ case 122: // hangeul
+ break; // FIXME
+ case 123: // hanja
+ break; // FIXME
+ case 124: // yen
+ break; // FIXME
+
+ case 125: // left meta
+ case 126: // right meta
+ return KeyEvent.VK_META;
+ case 127: // compose
+ return KeyEvent.VK_COMPOSE;
+
+ case 128: // stop
+ return KeyEvent.VK_STOP;
+ case 129: // again
+ return KeyEvent.VK_AGAIN;
+ case 130: // properties
+ return KeyEvent.VK_PROPS;
+ case 131: // undo
+ return KeyEvent.VK_UNDO;
+ case 132: // front
+ break; // FIXME
+ case 133: // copy
+ return KeyEvent.VK_COPY;
+ case 134: // open
+ break; // FIXME
+ case 135: // paste
+ return KeyEvent.VK_PASTE;
+ case 136: // find
+ return KeyEvent.VK_FIND;
+ case 137: // cut
+ return KeyEvent.VK_CUT;
+ case 138: // help
+ return KeyEvent.VK_HELP;
+ case 139: // menu
+ break; // FIXME
+ case 140: // calc
+ break; // FIXME
+ case 141: // setup
+ break; // FIXME
+ case 142: // sleep
+ break; // FIXME
+ case 143: // wakeup
+ break; // FIXME
+ case 144: // file
+ break; // FIXME
+ case 145: // send file
+ break; // FIXME
+ case 146: // delete file
+ break; // FIXME
+ case 147: // xfer
+ break; // FIXME
+ case 148: // prog1
+ break; // FIXME
+ case 149: // prog2
+ break; // FIXME
+ case 150: // www
+ break; // FIXME
+ case 151: // msdos
+ break; // FIXME
+ case 152: // coffee
+ break; // FIXME
+ case 153: // direction
+ break; // FIXME
+ case 154: // cycle windows
+ break; // FIXME
+ case 155: // mail
+ break; // FIXME
+ case 156: // bookmarks
+ break; // FIXME
+ case 157: // computer
+ break; // FIXME
+ case 158: // back
+ break; // FIXME
+ case 159: // forward
+ break; // FIXME
+ case 160: // close cd
+ break; // FIXME
+ case 161: // eject cd
+ break; // FIXME
+ case 162: // eject close cd
+ break; // FIXME
+ case 163: // next song
+ break; // FIXME
+ case 164: // play pause
+ break; // FIXME
+ case 165: // previous song
+ break; // FIXME
+ case 166: // stop cd
+ break; // FIXME
+ case 167: // record
+ break; // FIXME
+ case 168: // rewind
+ break; // FIXME
+ case 169: // phone
+ break; // FIXME
+ case 170: // ISO
+ break; // FIXME
+ case 171: // config
+ break; // FIXME
+ case 172: // home page
+ break; // FIXME
+ case 173: // refresh
+ break; // FIXME
+ case 174: // exit
+ break; // FIXME
+ case 175: // move
+ break; // FIXME
+ case 176: // edit
+ break; // FIXME
+ case 177: // scroll up
+ break; // FIXME PAGE_UP?
+ case 178: // scroll down
+ break; // FIXME PAGE_DOWN?
+ case 179: // kp left paren
+ return KeyEvent.VK_LEFT_PARENTHESIS;
+ case 180: // kp right paren
+ return KeyEvent.VK_RIGHT_PARENTHESIS;
+ case 181: // new
+ break; // FIXME
+ case 182: // redo
+ break; // FIXME
+
+ case 183: // F13
+ return KeyEvent.VK_F13;
+ case 184: // F14
+ return KeyEvent.VK_F14;
+ case 185: // F15
+ return KeyEvent.VK_F15;
+ case 186: // F16
+ return KeyEvent.VK_F16;
+ case 187: // F17
+ return KeyEvent.VK_F17;
+ case 188: // F18
+ return KeyEvent.VK_F18;
+ case 189: // F19
+ return KeyEvent.VK_F19;
+ case 190: // F20
+ return KeyEvent.VK_F20;
+ case 191: // F21
+ return KeyEvent.VK_F21;
+ case 192: // F22
+ return KeyEvent.VK_F22;
+ case 193: // F23
+ return KeyEvent.VK_F23;
+ case 194: // F24
+ return KeyEvent.VK_F24;
+
+ case 200: // play cd
+ break; // FIXME
+ case 201: // pause cd
+ break; // FIXME
+ case 202: // prog 3
+ break; // FIXME
+ case 203: // prog 4
+ break; // FIXME
+ case 204: // dashboard
+ break; // FIXME
+ case 205: // suspend
+ break; // FIXME
+ case 206: // close
+ break; // FIXME
+ case 207: // play
+ break; // FIXME
+ case 208: // fast forward
+ break; // FIXME
+ case 210: // print
+ return KeyEvent.VK_PRINTSCREEN; // FIXME ?
+ case 211: // HP
+ break; // FIXME
+ case 212: // camera
+ break; // FIXME
+ case 213: // sound
+ break; // FIXME
+ case 214: // question
+ break; // FIXME
+ case 215: // email
+ break; // FIXME
+ case 216: // chat
+ break; // FIXME
+ case 217: // search
+ break; // FIXME
+ case 218: // connect
+ break; // FIXME
+ case 219: // finance
+ break; // FIXME
+ case 220: // sport
+ break; // FIXME
+ case 221: // shop
+ break; // FIXME
+ case 222: // alt erase
+ break; // FIXME
+ case 223: // cancel
+ break; // FIXME
+ case 224: // brightness down
+ break; // FIXME
+ case 225: // brightness up
+ break; // FIXME
+ case 226: // media
+ break; // FIXME
+ case 227: // switch video mode
+ break; // FIXME
+ case 228: // kb dillum toggle
+ break; // FIXME
+ case 229: // kb dillum down
+ break; // FIXME
+ case 230: // kb dillum up
+ break; // FIXME
+ case 231: // send
+ break; // FIXME
+ case 232: // reply
+ break; // FIXME
+ case 233: // forward mail
+ break; // FIXME
+ case 234: // save
+ break; // FIXME
+ case 235: // documents
+ break; // FIXME
+ case 236: // battery
+ break; // FIXME
+ case 237: // bluetooth
+ break; // FIXME
+ case 238: // wlan
+ break; // FIXME
+ case 239: // UWB
+ break; // FIXME
+ case 240: // unknown
+ return KeyEvent.VK_UNDEFINED; // FIXME ?
+ case 241: // video next
+ break; // FIXME
+ case 242: // video prev
+ break; // FIXME
+ case 243: // brightness cycle
+ break; // FIXME
+ case 244: // brightness zero
+ break; // FIXME
+ case 245: // display off
+ break; // FIXME
+ case 246: // wimax
+ break; // FIXME
+ case 247: // rf kill radio off
+ break; // FIXME
+ case 248: // mic mute
+ break; // FIXME
+
+ default:
}
-
+
+ if(Window.DEBUG_KEY_EVENT) {
+ System.out.println("LinuxEVKey2NewtVKey: Unmapped EVKey "+EVKey);
+ }
return vkCode;
}
-
- private boolean isLinuxEVKeyWithin(short eVKey, short min,
- short max) {
- if((eVKey>=min) && (eVKey<=max))
- return true;
- return false;
- }
}
}