From 8c97f73f6a00911393962136cf17aa6e961e1f23 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 2 Apr 2014 17:37:33 -0400 Subject: [PATCH] Fix several keys: - = [ ] \ ; ' , / --- .../limelight/input/KeyboardTranslator.java | 47 ++++++++++++++----- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/src/com/limelight/input/KeyboardTranslator.java b/src/com/limelight/input/KeyboardTranslator.java index 23a40ed..9d8ab7e 100644 --- a/src/com/limelight/input/KeyboardTranslator.java +++ b/src/com/limelight/input/KeyboardTranslator.java @@ -31,19 +31,44 @@ public class KeyboardTranslator extends KeycodeTranslator { */ @Override public short translate(int keycode) { - // change newline to carriage return - if (keycode == KeyEvent.VK_ENTER) { + + switch (keycode) { + case KeyEvent.VK_DELETE: + keycode = 0x2e; + break; + case KeyEvent.VK_MINUS: + keycode = 0xbd; + break; + case KeyEvent.VK_EQUALS: + keycode = 0xbb; + break; + case KeyEvent.VK_OPEN_BRACKET: + keycode = 0xdb; + break; + case KeyEvent.VK_CLOSE_BRACKET: + keycode = 0xdd; + break; + case KeyEvent.VK_BACK_SLASH: + keycode = 0xdc; + break; + case KeyEvent.VK_SEMICOLON: + keycode = 0xba; + break; + case KeyEvent.VK_QUOTE: + keycode = 0xde; + break; + case KeyEvent.VK_ENTER: keycode = 0x0d; - } - - // period maps to delete by default so we remap it - if (keycode == KeyEvent.VK_PERIOD) { + break; + case KeyEvent.VK_COMMA: + keycode = 0xbc; + break; + case KeyEvent.VK_PERIOD: keycode = 0xbe; - } - - // Nvidia maps period to delete - if (keycode == KeyEvent.VK_DELETE) { - keycode = KeyEvent.VK_PERIOD; + break; + case KeyEvent.VK_SLASH: + keycode = 0xbf; + break; } return (short) ((KEY_PREFIX << 8) | keycode);