From 578011822abb973800f96a21138c497862cba800 Mon Sep 17 00:00:00 2001 From: Xerxes Rånby Date: Mon, 8 Apr 2013 22:03:53 +0200 Subject: LinuxEventDeviceTracker: ALT, ALT_GRAPH & CTRL modifiers. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Xerxes Rånby --- .../newt/driver/linux/LinuxEventDeviceTracker.java | 41 +++++++++++++++++++--- 1 file changed, 37 insertions(+), 4 deletions(-) (limited to 'src/newt/classes/jogamp') diff --git a/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java b/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java index 8651c2551..7b8c5eb2a 100644 --- a/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java +++ b/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java @@ -271,9 +271,19 @@ public class LinuxEventDeviceTracker implements WindowListener { case 0: eventType=KeyEvent.EVENT_KEY_RELEASED; - if(keyCode == KeyEvent.VK_SHIFT){ - System.out.println("release-shift"); + switch(keyCode) { + case KeyEvent.VK_SHIFT: modifiers &= ~InputEvent.SHIFT_MASK; + break; + case KeyEvent.VK_ALT: + modifiers &= ~InputEvent.ALT_MASK; + break; + case KeyEvent.VK_ALT_GRAPH: + modifiers &= ~InputEvent.ALT_GRAPH_MASK; + break; + case KeyEvent.VK_CONTROL: + modifiers &= ~InputEvent.CTRL_MASK; + break; } if(null != focusedWindow) { @@ -286,8 +296,19 @@ public class LinuxEventDeviceTracker implements WindowListener { case 1: eventType=KeyEvent.EVENT_KEY_PRESSED; - if(keyCode == KeyEvent.VK_SHIFT){ + switch(keyCode) { + case KeyEvent.VK_SHIFT: modifiers |= InputEvent.SHIFT_MASK; + break; + case KeyEvent.VK_ALT: + modifiers |= InputEvent.ALT_MASK; + break; + case KeyEvent.VK_ALT_GRAPH: + modifiers |= InputEvent.ALT_GRAPH_MASK; + break; + case KeyEvent.VK_CONTROL: + modifiers |= InputEvent.CTRL_MASK; + break; } if(null != focusedWindow) { @@ -300,8 +321,20 @@ public class LinuxEventDeviceTracker implements WindowListener { case 2: eventType=KeyEvent.EVENT_KEY_PRESSED; modifiers |= InputEvent.AUTOREPEAT_MASK; - if(keyCode == KeyEvent.VK_SHIFT){ + + switch(keyCode) { + case KeyEvent.VK_SHIFT: modifiers |= InputEvent.SHIFT_MASK; + break; + case KeyEvent.VK_ALT: + modifiers |= InputEvent.ALT_MASK; + break; + case KeyEvent.VK_ALT_GRAPH: + modifiers |= InputEvent.ALT_GRAPH_MASK; + break; + case KeyEvent.VK_CONTROL: + modifiers |= InputEvent.CTRL_MASK; + break; } if(null != focusedWindow) { -- cgit v1.2.3