aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Kharitonov <Vladimir.Kharitonov@jetbrains.com>2023-08-08 18:31:57 +0200
committerVladimir Kharitonov <Vladimir.Kharitonov@jetbrains.com>2023-08-09 20:59:26 +0200
commitd25e39a3498f4d108f9de64caf5bf0395b16ef05 (patch)
tree90a71b1a8c0676a09cb6dd8b11d5ab51b35cbc8c
parentff32f9f67833169466a063977fd937da30dce835 (diff)
downloadjcef-d25e39a3498f4d108f9de64caf5bf0395b16ef05.tar.gz
JBR-5928: regression test for keyboard OSR
-rw-r--r--build.xml7
-rw-r--r--java_tests/tests/junittests/KeyboardOSRTest.java247
-rw-r--r--java_tests/tests/junittests/data/keyboard_scenario_mac.json64913
-rw-r--r--java_tests/tests/keyboard/Scenario.java219
-rw-r--r--java_tests/tests/keyboard/ScenarioMaker.java244
-rw-r--r--jb/project/java-gradle/build.gradle4
-rw-r--r--jb/project/java-gradle/gradle.properties2
-rw-r--r--third_party/gson/gson-2.10.1.jarbin0 -> 283367 bytes
8 files changed, 65635 insertions, 1 deletions
diff --git a/build.xml b/build.xml
index e36c59d..c1480cc 100644
--- a/build.xml
+++ b/build.xml
@@ -62,6 +62,7 @@
</path>
<path id="class.path.tests">
+ <fileset dir="third_party/gson" includes="gson-2.10.1.jar"/>
<fileset dir="third_party/junit" includes="junit-platform-console-standalone-1.10.0.jar"/>
<fileset dir="third_party/jakarta" includes="jakarta.xml.bind-api-2.3.2.jar"/>
<fileset dir="${out.path}" includes="jcef.jar"/>
@@ -90,6 +91,7 @@
<target name="compile.tests">
<mkdir dir="${out.path}/tmp"/>
<mkdir dir="${out.path}/tests"/>
+ <mkdir dir="${out.path}/tests/junittests/data"/>
<!-- Javac will always recompile the tests due to https://ant.apache.org/faq.html#always-recompiles -->
<javac encoding="UTF8" nowarn="on" deprecation="off" debug="on" includeantruntime="false" fork="true"
destdir="${out.path}/tmp">
@@ -97,6 +99,11 @@
<src path="java_tests/tests/"/>
<include name="**/*.java"/>
</javac>
+
+ <copy todir="${out.path}/tests/junittests/data">
+ <fileset dir="java_tests/tests/junittests/data" includes="*" />
+ </copy>
+
<move file="${out.path}/tmp/tests" tofile="${out.path}/tests"/>
<delete dir="${out.path}/tmp"/>
</target>
diff --git a/java_tests/tests/junittests/KeyboardOSRTest.java b/java_tests/tests/junittests/KeyboardOSRTest.java
new file mode 100644
index 0000000..ec7da70
--- /dev/null
+++ b/java_tests/tests/junittests/KeyboardOSRTest.java
@@ -0,0 +1,247 @@
+package tests.junittests;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.reflect.TypeToken;
+import org.cef.browser.CefBrowser;
+import org.cef.browser.CefFrame;
+import org.cef.browser.CefMessageRouter;
+import org.cef.callback.CefQueryCallback;
+import org.cef.handler.CefMessageRouterHandlerAdapter;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
+import tests.JBCefOsrHandler;
+import tests.keyboard.Scenario;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.stream.Stream;
+
+@ExtendWith(TestSetupExtension.class)
+public class KeyboardOSRTest {
+ static final String PAGE_URL = "https://some.url/";
+ private static final String KEY_EVENT_CALLBACK_NAME = "_cef_on_key_event";
+ private static final List<Scenario> outputScenarios = new ArrayList<>();
+ private static final String KEYBOARD_TEST_OUTPUT_FILE = System.getenv("KEYBOARD_TEST_OUTPUT_FILE");
+ private static final boolean UPDATE_REFERENCE = KEYBOARD_TEST_OUTPUT_FILE != null && !KEYBOARD_TEST_OUTPUT_FILE.isEmpty();
+
+ // language=HTML
+ final static String PAGE_HTML = "<!DOCTYPE html>\n" +
+ "<html lang=\"en\">\n" +
+ "<head>\n" +
+ " <script>\n" +
+ " /**\n" +
+ " * @param {KeyboardEvent}e\n" +
+ " * @returns {string}\n" +
+ " */\n" +
+ " function eventToString(e) {\n" +
+ " return JSON.stringify({\n" +
+ " 'type': e.type,\n" +
+ " 'key': e.key,\n" +
+ " 'code': e.code,\n" +
+ " 'location': e.location,\n" +
+ " 'altKey': e.altKey,\n" +
+ " 'ctrlKey': e.ctrlKey,\n" +
+ " 'metaKay': e.metaKey,\n" +
+ " 'shiftKey': e.shiftKey,\n" +
+ " })\n" +
+ " }\n" +
+ " function sendEvent(e) {\n" +
+ " const msg = eventToString(e)\n" +
+ " console.log(`New event: ${msg}`)\n" +
+ " window." + KEY_EVENT_CALLBACK_NAME + "({\n" +
+ " request: msg,\n" +
+ " persistent: true,\n" +
+ " onSuccess: function(response) {},\n" +
+ " onFailure: function(error_code, error_message) {}\n" +
+ " })\n" +
+ " }\n" +
+ " document.addEventListener('keydown', sendEvent, false);\n" +
+ " document.addEventListener('keypress', sendEvent, false);\n" +
+ " document.addEventListener('keyup', sendEvent, false);\n" +
+ " </script>\n" +
+ " <title>keyboard test</title>\n" +
+ "</head>\n" +
+ "<body></body>\n" +
+ "</html>";
+ private static MyFrame myFrame = null;
+ private static final EventsWaiter eventsWaiter = new EventsWaiter();
+ private static CountDownLatch callbackLatch = new CountDownLatch(1);
+
+ @BeforeAll
+ public static void before() throws InterruptedException {
+ myFrame = new MyFrame();
+ myFrame.awaitLoad();
+ }
+
+ @AfterAll
+ public static void after() throws IOException {
+ myFrame.closeBrowser();
+ myFrame.awaitCompletion();
+ File file = getScenarioFile();
+ if (UPDATE_REFERENCE && file != null) {
+ String jsonString = new GsonBuilder()
+ .setPrettyPrinting()
+ .create()
+ .toJson(outputScenarios.toArray());
+
+ Files.write(file.toPath(), jsonString.getBytes());
+ }
+ }
+
+ private static Stream<Scenario> getScenarios() throws IOException {
+ File file = getScenarioFile();
+ if (file == null) {
+ return Stream.empty();
+ }
+ String jsonText = Files.readString(file.toPath());
+
+ Type typeToken = new TypeToken<ArrayList<Scenario>>() {
+ }.getType();
+ ArrayList<Scenario> scenarios = new Gson().fromJson(jsonText, typeToken);
+ return scenarios.stream().filter(scenario -> !Objects.requireNonNullElse(scenario.comments, "").toLowerCase().contains("disable"));
+ }
+
+ private static File getScenarioFile() {
+ if (KEYBOARD_TEST_OUTPUT_FILE != null) {
+ return new File(KEYBOARD_TEST_OUTPUT_FILE);
+ }
+ String scenarioPath;
+ String osName = System.getProperty("os.name", "").toLowerCase();
+ if (osName.startsWith("mac")) {
+ scenarioPath = "data/keyboard_scenario_mac.json";
+ } else {
+ return null;
+ }
+
+ try {
+ return new File(Objects.requireNonNull(KeyboardOSRTest.class.getResource(scenarioPath)).toURI());
+ } catch (URISyntaxException e) {
+ return null;
+ }
+ }
+
+ @ParameterizedTest
+ @MethodSource("getScenarios")
+ void doTest(Scenario scenario) throws InterruptedException {
+ System.err.println("Testing '" + scenario.name + "'");
+ eventsWaiter.setup();
+ for (Scenario.EventDataJava data : scenario.eventsJava) {
+ callbackLatch = new CountDownLatch(1);
+ myFrame.browser_.sendKeyEvent(data.makeKeyEvent(myFrame.browser_.getUIComponent()));
+ callbackLatch.await(200, TimeUnit.MILLISECONDS);
+ }
+ List<Scenario.EventDataJS> eventsJS = eventsWaiter.get();
+
+ if (!UPDATE_REFERENCE) {
+ Assertions.assertFalse(eventsJS.isEmpty());
+ Assertions.assertEquals(scenario.eventsJSExpected, eventsJS);
+ }
+ outputScenarios.add(new Scenario(scenario.name, scenario.comments, scenario.eventsJava, eventsJS));
+ }
+
+ static class MyFrame extends TestFrame {
+ private final CountDownLatch myInitLatch = new CountDownLatch(1);
+
+ @Override
+ protected void setupTest() {
+ CefMessageRouter.CefMessageRouterConfig config = new CefMessageRouter.CefMessageRouterConfig();
+ config.jsQueryFunction = KEY_EVENT_CALLBACK_NAME;
+ var router = CefMessageRouter.create(config);
+ router.addHandler(new CefMessageRouterHandlerAdapter() {
+ @Override
+ public boolean onQuery(CefBrowser browser, CefFrame frame, long queryId, String request, boolean persistent, CefQueryCallback callback) {
+ System.err.println("Received scenario: " + request);
+ eventsWaiter.addEvent(Scenario.EventDataJS.fromJson(request));
+ callbackLatch.countDown();
+ return true;
+ }
+ }, true);
+ client_.addMessageRouter(router);
+
+
+ addResource(PAGE_URL, PAGE_HTML, "text/html");
+ String isOsr = System.getProperty("jcef.tests.osr");
+ System.setProperty("jcef.tests.osr", "true");
+ createBrowser(PAGE_URL);
+ System.setProperty("jcef.tests.osr", isOsr);
+ }
+
+ @Override
+ public void onLoadEnd(CefBrowser browser, CefFrame frame, int httpStatusCode) {
+ Assertions.assertEquals(200, httpStatusCode);
+ myInitLatch.countDown();
+ }
+
+ public void closeBrowser() {
+ terminateTest();
+ }
+
+ void awaitLoad() throws InterruptedException {
+ Assertions.assertTrue(myInitLatch.await(5, TimeUnit.SECONDS));
+ var renderHandler = (JBCefOsrHandler) browser_.getRenderHandler();
+ Assertions.assertNotNull(renderHandler);
+ Assertions.assertTrue(renderHandler.awaitInit());
+ }
+ }
+
+ private static class EventsWaiter {
+ List<Scenario.EventDataJS> events;
+ final Lock lock = new ReentrantLock();
+ final Condition scenarioFinished = lock.newCondition();
+ private void setup() {
+ events = new ArrayList<>();
+ }
+
+ public void addEvent(Scenario.EventDataJS event) {
+ lock.lock();
+ events.add(event);
+ scenarioFinished.signal();
+ lock.unlock();
+ }
+
+ public List<Scenario.EventDataJS> get() throws InterruptedException {
+ lock.lock();
+ while (!isReady()) {
+ if (!scenarioFinished.await(500, TimeUnit.MILLISECONDS)) {
+ if (UPDATE_REFERENCE) {
+ System.err.println("The received scenario events are incomplete: " + events);
+ } else {
+ Assertions.fail("The received scenario events are incomplete: " + events);
+ }
+ break;
+ }
+ }
+ var result = events;
+ setup();
+ lock.unlock();
+ return result;
+ }
+
+ public boolean isReady() {
+ if (events.isEmpty()) {
+ return false;
+ }
+
+ Scenario.EventDataJS first = events.get(0);
+ Scenario.EventDataJS last = events.get(events.size() - 1);
+
+ return "keydown".equals(first.type) && "keyup".equals(last.type) && Objects.equals(first.code, last.code);
+ }
+ }
+}
diff --git a/java_tests/tests/junittests/data/keyboard_scenario_mac.json b/java_tests/tests/junittests/data/keyboard_scenario_mac.json
new file mode 100644
index 0000000..656f76e
--- /dev/null
+++ b/java_tests/tests/junittests/data/keyboard_scenario_mac.json
@@ -0,0 +1,64913 @@
+[
+ {
+ "name": "⎋",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\u001b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F10",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F11",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F12",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F13",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F14",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F15",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F16",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F17",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F18",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F19",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "§",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 16777383,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "§",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16777383,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "1",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "2",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "3",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "4",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "5",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "6",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "7",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "8",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "9",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "0",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "-",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 45,
+ "keyChar": "-",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "-",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 45,
+ "keyChar": "-",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "\u003d",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\u003d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌫",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 9,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\t",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 9,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Tab",
+ "code": "Tab",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Tab",
+ "code": "Tab",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Q",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 81,
+ "keyChar": "q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "q",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 81,
+ "keyChar": "q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "W",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 87,
+ "keyChar": "w",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "w",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 87,
+ "keyChar": "w",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "w",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "w",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "w",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "E",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 69,
+ "keyChar": "e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "e",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 69,
+ "keyChar": "e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "e",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "e",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "e",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "R",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 82,
+ "keyChar": "r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "r",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 82,
+ "keyChar": "r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "r",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "r",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "r",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "T",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 84,
+ "keyChar": "t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "t",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 84,
+ "keyChar": "t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "t",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "t",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "t",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Y",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 89,
+ "keyChar": "y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "y",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 89,
+ "keyChar": "y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "U",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 85,
+ "keyChar": "u",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "u",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 85,
+ "keyChar": "u",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "u",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "u",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "u",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "I",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 73,
+ "keyChar": "i",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "i",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 73,
+ "keyChar": "i",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "i",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "i",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "i",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "O",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 79,
+ "keyChar": "o",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "o",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 79,
+ "keyChar": "o",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "o",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "o",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "o",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "P",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 80,
+ "keyChar": "p",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "p",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 80,
+ "keyChar": "p",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "p",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "p",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "p",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "[",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 91,
+ "keyChar": "[",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 91
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "[",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 91
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 91,
+ "keyChar": "[",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 91
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "[",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "[",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "[",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "]",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 93,
+ "keyChar": "]",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 93
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "]",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 93
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 93,
+ "keyChar": "]",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 93
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "]",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "]",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "]",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 10,
+ "keyChar": "\n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\n",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 10,
+ "keyChar": "\n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇪",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 20,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 20
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 20,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 20
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "A",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 65,
+ "keyChar": "a",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "a",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 65,
+ "keyChar": "a",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "S",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 83,
+ "keyChar": "s",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "s",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 83,
+ "keyChar": "s",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "s",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "s",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "s",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "D",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 68,
+ "keyChar": "d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 68,
+ "keyChar": "d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "d",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "d",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "d",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 70,
+ "keyChar": "f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "f",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 70,
+ "keyChar": "f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "f",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "f",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "f",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "G",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 71,
+ "keyChar": "g",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "g",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 71,
+ "keyChar": "g",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "g",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "g",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "g",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "H",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 72,
+ "keyChar": "h",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "h",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 72,
+ "keyChar": "h",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "h",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "h",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "h",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "J",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 74,
+ "keyChar": "j",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "j",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 74,
+ "keyChar": "j",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "j",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "j",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "j",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "K",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 75,
+ "keyChar": "k",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "k",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 75,
+ "keyChar": "k",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "k",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "k",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "k",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "L",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 76,
+ "keyChar": "l",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "l",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 76,
+ "keyChar": "l",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "l",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "l",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "l",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": ";",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 59,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": ";",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 59,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": ";",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ";",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ";",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "\u0027",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 222,
+ "keyChar": "\u0027",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\u0027",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 222,
+ "keyChar": "\u0027",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "\u0027",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u0027",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u0027",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "\\",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 92,
+ "keyChar": "\\",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 92
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\\",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 92
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 92,
+ "keyChar": "\\",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 92
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "\\",
+ "code": "Backslash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\\",
+ "code": "Backslash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\\",
+ "code": "Backslash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "`",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 192,
+ "keyChar": "`",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "`",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 192,
+ "keyChar": "`",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "`",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "`",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "`",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Z",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 90,
+ "keyChar": "z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "z",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 90,
+ "keyChar": "z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "X",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 88,
+ "keyChar": "x",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "x",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 88,
+ "keyChar": "x",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "x",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "x",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "x",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "C",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 67,
+ "keyChar": "c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "c",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 67,
+ "keyChar": "c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "c",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "c",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "c",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "V",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 86,
+ "keyChar": "v",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "v",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 86,
+ "keyChar": "v",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "v",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "v",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "v",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "B",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 66,
+ "keyChar": "b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 66,
+ "keyChar": "b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "b",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "b",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "b",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "N",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 78,
+ "keyChar": "n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "n",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 78,
+ "keyChar": "n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "n",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "n",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "n",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "M",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 77,
+ "keyChar": "m",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "m",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 77,
+ "keyChar": "m",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "m",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "m",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "m",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": ",",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 44,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": ",",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 44,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": ".",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 46,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": ".",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 46,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "/",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 47,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "/",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 47,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "␣",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 32,
+ "keyChar": " ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 32
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": " ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 32
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 32,
+ "keyChar": " ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 32
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": " ",
+ "code": "Space",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": " ",
+ "code": "Space",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": " ",
+ "code": "Space",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "↖",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 36,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 36
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 36,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 36
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Home",
+ "code": "Home",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Home",
+ "code": "Home",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "↘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 35,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 35
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 35,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 35
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "End",
+ "code": "End",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "End",
+ "code": "End",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇞",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 33,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 33
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 33,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 33
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "PageUp",
+ "code": "PageUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "PageUp",
+ "code": "PageUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇟",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 34,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 34
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 34,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 34
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "PageDown",
+ "code": "PageDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "PageDown",
+ "code": "PageDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌦",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 127,
+ "keyChar": "",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 127,
+ "keyChar": "",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Delete",
+ "code": "Delete",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Delete",
+ "code": "Delete",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "↑",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 38,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 38
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 38,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 38
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ArrowUp",
+ "code": "ArrowUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowUp",
+ "code": "ArrowUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "←",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 37,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 37
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 37,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 37
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ArrowLeft",
+ "code": "ArrowLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowLeft",
+ "code": "ArrowLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "↓",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 40,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 40
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 40,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 40
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ArrowDown",
+ "code": "ArrowDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowDown",
+ "code": "ArrowDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "→",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 39,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 39
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 39,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 39
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ArrowRight",
+ "code": "ArrowRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowRight",
+ "code": "ArrowRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 12,
+ "keyChar": "￿",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 12
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 12,
+ "keyChar": "￿",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 12
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "\u003d",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\u003d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨ /",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 111,
+ "keyChar": "/",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "/",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 111,
+ "keyChar": "/",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨ *",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 106,
+ "keyChar": "*",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "*",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 106,
+ "keyChar": "*",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 103,
+ "keyChar": "7",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "7",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 103,
+ "keyChar": "7",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 104,
+ "keyChar": "8",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "8",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 104,
+ "keyChar": "8",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 105,
+ "keyChar": "9",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "9",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 105,
+ "keyChar": "9",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨ -",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 109,
+ "keyChar": "-",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "-",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 109,
+ "keyChar": "-",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 100,
+ "keyChar": "4",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "4",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 100,
+ "keyChar": "4",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 101,
+ "keyChar": "5",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "5",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 101,
+ "keyChar": "5",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 102,
+ "keyChar": "6",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "6",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 102,
+ "keyChar": "6",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨ +",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 107,
+ "keyChar": "+",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "+",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 107,
+ "keyChar": "+",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 97,
+ "keyChar": "1",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "1",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 97,
+ "keyChar": "1",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 98,
+ "keyChar": "2",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "2",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 98,
+ "keyChar": "2",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 99,
+ "keyChar": "3",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "3",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 99,
+ "keyChar": "3",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 10,
+ "keyChar": "\n",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\n",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 10,
+ "keyChar": "\n",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨-0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 96,
+ "keyChar": "0",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "0",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 96,
+ "keyChar": "0",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌨ .",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 110,
+ "keyChar": ".",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": ".",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 110,
+ "keyChar": ".",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Q",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 81,
+ "keyChar": "Q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "Q",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 81,
+ "keyChar": "Q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "W",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 87,
+ "keyChar": "W",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "W",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 87,
+ "keyChar": "W",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "E",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 69,
+ "keyChar": "E",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "E",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 69,
+ "keyChar": "E",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "R",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 82,
+ "keyChar": "R",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "R",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 82,
+ "keyChar": "R",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "T",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 84,
+ "keyChar": "T",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "T",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 84,
+ "keyChar": "T",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Y",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 89,
+ "keyChar": "Y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "Y",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 89,
+ "keyChar": "Y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "U",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 85,
+ "keyChar": "U",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "U",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 85,
+ "keyChar": "U",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "I",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 73,
+ "keyChar": "I",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "I",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 73,
+ "keyChar": "I",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "O",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 79,
+ "keyChar": "O",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "O",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 79,
+ "keyChar": "O",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "P",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 80,
+ "keyChar": "P",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "P",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 80,
+ "keyChar": "P",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "A",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 65,
+ "keyChar": "A",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "A",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 65,
+ "keyChar": "A",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "S",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 83,
+ "keyChar": "S",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "S",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 83,
+ "keyChar": "S",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "D",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 68,
+ "keyChar": "D",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "D",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 68,
+ "keyChar": "D",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 70,
+ "keyChar": "F",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "F",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 70,
+ "keyChar": "F",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "G",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 71,
+ "keyChar": "G",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "G",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 71,
+ "keyChar": "G",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "H",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 72,
+ "keyChar": "H",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "H",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 72,
+ "keyChar": "H",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "J",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 74,
+ "keyChar": "J",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "J",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 74,
+ "keyChar": "J",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "K",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 75,
+ "keyChar": "K",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "K",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 75,
+ "keyChar": "K",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "L",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 76,
+ "keyChar": "L",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "L",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 76,
+ "keyChar": "L",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Z",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 90,
+ "keyChar": "Z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "Z",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 90,
+ "keyChar": "Z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "X",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 88,
+ "keyChar": "X",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "X",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 88,
+ "keyChar": "X",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "C",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 67,
+ "keyChar": "C",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "C",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 67,
+ "keyChar": "C",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "V",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 86,
+ "keyChar": "V",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "V",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 86,
+ "keyChar": "V",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "B",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 66,
+ "keyChar": "B",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "B",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 66,
+ "keyChar": "B",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "N",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 78,
+ "keyChar": "N",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "N",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 78,
+ "keyChar": "N",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "M",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 77,
+ "keyChar": "M",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "M",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 77,
+ "keyChar": "M",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+⎋",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u001b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F10",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F11",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F12",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F13",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F14",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F15",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F16",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F17",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F18",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F19",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+§",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16777383,
+ "keyChar": "±",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777393
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "±",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777393
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 16777383,
+ "keyChar": "±",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777393
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "±",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "±",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "±",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 49,
+ "keyChar": "!",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "!",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 49,
+ "keyChar": "!",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 50,
+ "keyChar": "@",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 512
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "@",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 512
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 50,
+ "keyChar": "@",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 512
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "@",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "@",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "@",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 51,
+ "keyChar": "#",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 520
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "#",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 520
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 51,
+ "keyChar": "#",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 520
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "#",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "#",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "#",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 52,
+ "keyChar": "$",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 515
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "$",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 515
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 52,
+ "keyChar": "$",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 515
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "$",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "$",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "$",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 53,
+ "keyChar": "%",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "%",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 53,
+ "keyChar": "%",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 54,
+ "keyChar": "^",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 514
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "^",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 514
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 54,
+ "keyChar": "^",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 514
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "^",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "^",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "^",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 55,
+ "keyChar": "\u0026",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 150
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u0026",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 150
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 55,
+ "keyChar": "\u0026",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 150
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\u0026",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\u0026",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\u0026",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 56,
+ "keyChar": "*",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "*",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 56,
+ "keyChar": "*",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 57,
+ "keyChar": "(",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "(",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 57,
+ "keyChar": "(",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 48,
+ "keyChar": ")",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ")",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 48,
+ "keyChar": ")",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+-",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 45,
+ "keyChar": "_",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "_",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 45,
+ "keyChar": "_",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+\u003d",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61,
+ "keyChar": "+",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "+",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61,
+ "keyChar": "+",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+⌫",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+⇥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 9,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\t",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 9,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Tab",
+ "code": "Tab",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Tab",
+ "code": "Tab",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Q",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 81,
+ "keyChar": "Q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Q",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 81,
+ "keyChar": "Q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+W",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 87,
+ "keyChar": "W",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "W",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 87,
+ "keyChar": "W",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+E",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 69,
+ "keyChar": "E",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "E",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 69,
+ "keyChar": "E",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+R",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 82,
+ "keyChar": "R",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "R",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 82,
+ "keyChar": "R",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+T",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 84,
+ "keyChar": "T",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "T",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 84,
+ "keyChar": "T",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Y",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 89,
+ "keyChar": "Y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Y",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 89,
+ "keyChar": "Y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+U",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 85,
+ "keyChar": "U",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "U",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 85,
+ "keyChar": "U",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+I",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 73,
+ "keyChar": "I",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "I",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 73,
+ "keyChar": "I",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+O",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 79,
+ "keyChar": "O",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "O",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 79,
+ "keyChar": "O",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+P",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 80,
+ "keyChar": "P",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "P",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 80,
+ "keyChar": "P",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+[",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 91,
+ "keyChar": "{",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 161
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "{",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 161
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 91,
+ "keyChar": "{",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 161
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "{",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "{",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "{",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+]",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 93,
+ "keyChar": "}",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 162
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "}",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 162
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 93,
+ "keyChar": "}",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 162
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "}",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "}",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "}",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 10,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\r",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 10,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+A",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 65,
+ "keyChar": "A",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "A",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 65,
+ "keyChar": "A",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+S",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 83,
+ "keyChar": "S",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "S",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 83,
+ "keyChar": "S",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+D",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 68,
+ "keyChar": "D",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "D",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 68,
+ "keyChar": "D",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 70,
+ "keyChar": "F",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "F",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 70,
+ "keyChar": "F",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+G",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 71,
+ "keyChar": "G",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "G",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 71,
+ "keyChar": "G",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+H",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 72,
+ "keyChar": "H",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "H",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 72,
+ "keyChar": "H",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+J",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 74,
+ "keyChar": "J",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "J",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 74,
+ "keyChar": "J",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+K",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 75,
+ "keyChar": "K",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "K",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 75,
+ "keyChar": "K",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+L",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 76,
+ "keyChar": "L",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "L",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 76,
+ "keyChar": "L",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+;",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 59,
+ "keyChar": ":",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ":",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 59,
+ "keyChar": ":",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+\u0027",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 222,
+ "keyChar": "\"",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\"",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 222,
+ "keyChar": "\"",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+\\",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 92,
+ "keyChar": "|",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777340
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "|",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777340
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 92,
+ "keyChar": "|",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777340
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "|",
+ "code": "Backslash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "|",
+ "code": "Backslash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "|",
+ "code": "Backslash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+`",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 192,
+ "keyChar": "~",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777342
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "~",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777342
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 192,
+ "keyChar": "~",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777342
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "~",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "~",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "~",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Z",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 90,
+ "keyChar": "Z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Z",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 90,
+ "keyChar": "Z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+X",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 88,
+ "keyChar": "X",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "X",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 88,
+ "keyChar": "X",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+C",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 67,
+ "keyChar": "C",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "C",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 67,
+ "keyChar": "C",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+V",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 86,
+ "keyChar": "V",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "V",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 86,
+ "keyChar": "V",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+B",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 66,
+ "keyChar": "B",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "B",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 66,
+ "keyChar": "B",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+N",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 78,
+ "keyChar": "N",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "N",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 78,
+ "keyChar": "N",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+M",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 77,
+ "keyChar": "M",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "M",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 77,
+ "keyChar": "M",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+,",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 44,
+ "keyChar": "\u003c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u003c",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 44,
+ "keyChar": "\u003c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+.",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 46,
+ "keyChar": "\u003e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u003e",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 46,
+ "keyChar": "\u003e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+/",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 47,
+ "keyChar": "?",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "?",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 47,
+ "keyChar": "?",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⎋",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u001b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F10",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F11",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F12",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F13",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F14",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F15",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F16",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F17",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F18",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F19",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+§",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 16777383,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "0",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 16777383,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "1",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "2",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "3",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "4",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "5",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "6",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "7",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "8",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "9",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "0",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+-",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 45,
+ "keyChar": "\u001f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u001f",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 45,
+ "keyChar": "\u001f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌫",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⇥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 9,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\t",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 9,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Tab",
+ "code": "Tab",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Tab",
+ "code": "Tab",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+Q",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 81,
+ "keyChar": "\u0011",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0011",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 81,
+ "keyChar": "\u0011",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+W",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 87,
+ "keyChar": "\u0017",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0017",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 87,
+ "keyChar": "\u0017",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+E",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 69,
+ "keyChar": "\u0005",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0005",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 69,
+ "keyChar": "\u0005",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+R",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 82,
+ "keyChar": "\u0012",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0012",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 82,
+ "keyChar": "\u0012",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+T",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 84,
+ "keyChar": "\u0014",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0014",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 84,
+ "keyChar": "\u0014",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+Y",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 89,
+ "keyChar": "\u0019",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0019",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 89,
+ "keyChar": "\u0019",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+U",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 85,
+ "keyChar": "\u0015",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0015",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 85,
+ "keyChar": "\u0015",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+I",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 73,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\t",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 73,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+O",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 79,
+ "keyChar": "\u000f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u000f",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 79,
+ "keyChar": "\u000f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+P",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 80,
+ "keyChar": "\u0010",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0010",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 80,
+ "keyChar": "\u0010",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+[",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 91,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u001b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 91,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+]",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 93,
+ "keyChar": "\u001d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u001d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 93,
+ "keyChar": "\u001d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 10,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\r",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 10,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+A",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 65,
+ "keyChar": "\u0001",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0001",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 65,
+ "keyChar": "\u0001",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+S",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 83,
+ "keyChar": "\u0013",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0013",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 83,
+ "keyChar": "\u0013",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+D",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 68,
+ "keyChar": "\u0004",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0004",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 68,
+ "keyChar": "\u0004",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+F",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 70,
+ "keyChar": "\u0006",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0006",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 70,
+ "keyChar": "\u0006",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+G",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 71,
+ "keyChar": "\u0007",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0007",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 71,
+ "keyChar": "\u0007",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+H",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 72,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 72,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+J",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 74,
+ "keyChar": "\n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\n",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 74,
+ "keyChar": "\n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 10
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+K",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 75,
+ "keyChar": "\u000b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u000b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 75,
+ "keyChar": "\u000b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+L",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 76,
+ "keyChar": "\f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\f",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 76,
+ "keyChar": "\f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+;",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 59,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": ";",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 59,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ";",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ";",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ";",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+\u0027",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 222,
+ "keyChar": "\u0027",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0027",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 222,
+ "keyChar": "\u0027",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "\u0027",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u0027",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u0027",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+\\",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 92,
+ "keyChar": "\u001c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u001c",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 92,
+ "keyChar": "\u001c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⇧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 192,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+`",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 192,
+ "keyChar": "`",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "`",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 192,
+ "keyChar": "`",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "`",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "`",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "`",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+Z",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 90,
+ "keyChar": "\u001a",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u001a",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 90,
+ "keyChar": "\u001a",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+X",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 88,
+ "keyChar": "\u0018",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0018",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 88,
+ "keyChar": "\u0018",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+C",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 67,
+ "keyChar": "\u0003",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0003",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 67,
+ "keyChar": "\u0003",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+V",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 86,
+ "keyChar": "\u0016",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0016",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 86,
+ "keyChar": "\u0016",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+B",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 66,
+ "keyChar": "\u0002",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0002",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 66,
+ "keyChar": "\u0002",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+N",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 78,
+ "keyChar": "\u000e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u000e",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 78,
+ "keyChar": "\u000e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+M",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 77,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\r",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 77,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+,",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 44,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": ",",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 44,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+.",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 46,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": ".",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 46,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+/",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 47,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "/",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 47,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⇧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 192,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 640,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 384,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+␣",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 32,
+ "keyChar": " ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 32
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": " ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 32
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 32,
+ "keyChar": " ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 32
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": " ",
+ "code": "Space",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": " ",
+ "code": "Space",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": " ",
+ "code": "Space",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 384,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 640,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+↖",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 36,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 36
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 36,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 36
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Home",
+ "code": "Home",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Home",
+ "code": "Home",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+↘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 35,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 35
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 35,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 35
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "End",
+ "code": "End",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "End",
+ "code": "End",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⇞",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 33,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 33
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 33,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 33
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "PageUp",
+ "code": "PageUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "PageUp",
+ "code": "PageUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⇟",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 34,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 34
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 34,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 34
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "PageDown",
+ "code": "PageDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "PageDown",
+ "code": "PageDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌦",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 127,
+ "keyChar": "",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 127,
+ "keyChar": "",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Delete",
+ "code": "Delete",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Delete",
+ "code": "Delete",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 12,
+ "keyChar": "￿",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 12
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 12,
+ "keyChar": "￿",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 12
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+\u003d",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u003d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨ /",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 111,
+ "keyChar": "/",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "/",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 111,
+ "keyChar": "/",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨ *",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 106,
+ "keyChar": "*",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "*",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 106,
+ "keyChar": "*",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 103,
+ "keyChar": "7",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "7",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 103,
+ "keyChar": "7",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 104,
+ "keyChar": "8",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "8",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 104,
+ "keyChar": "8",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 105,
+ "keyChar": "9",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "9",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 105,
+ "keyChar": "9",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨ -",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 109,
+ "keyChar": "-",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "-",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 109,
+ "keyChar": "-",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 100,
+ "keyChar": "4",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "4",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 100,
+ "keyChar": "4",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 101,
+ "keyChar": "5",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "5",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 101,
+ "keyChar": "5",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 102,
+ "keyChar": "6",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "6",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 102,
+ "keyChar": "6",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨ +",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 107,
+ "keyChar": "+",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "+",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 107,
+ "keyChar": "+",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 97,
+ "keyChar": "1",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "1",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 97,
+ "keyChar": "1",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 98,
+ "keyChar": "2",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "2",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 98,
+ "keyChar": "2",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 99,
+ "keyChar": "3",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "3",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 99,
+ "keyChar": "3",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 10,
+ "keyChar": "\u0003",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "\u0003",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 10,
+ "keyChar": "\u0003",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨-0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 96,
+ "keyChar": "0",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": "0",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 96,
+ "keyChar": "0",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌃+⌨ .",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 401,
+ "modifiers": 128,
+ "keyCode": 110,
+ "keyChar": ".",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 400,
+ "modifiers": 128,
+ "keyCode": 0,
+ "keyChar": ".",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 128,
+ "keyCode": 110,
+ "keyChar": ".",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⎋",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "\u001b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F10",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F11",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F12",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F13",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F14",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F15",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F16",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F17",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F18",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F19",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+§",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 16777383,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "§",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 16777383,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 49,
+ "keyChar": "¡",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 518
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "¡",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 518
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 49,
+ "keyChar": "¡",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 518
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "¡",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "¡",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "¡",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 50,
+ "keyChar": "™",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "™",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 50,
+ "keyChar": "™",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "™",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "™",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "™",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 51,
+ "keyChar": "£",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777379
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "£",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777379
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 51,
+ "keyChar": "£",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777379
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "£",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "£",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "£",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 52,
+ "keyChar": "¢",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777378
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "¢",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777378
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 52,
+ "keyChar": "¢",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777378
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "¢",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "¢",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "¢",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 53,
+ "keyChar": "∞",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "∞",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 53,
+ "keyChar": "∞",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "∞",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "∞",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "∞",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 54,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "§",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 54,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 55,
+ "keyChar": "¶",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777398
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "¶",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777398
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 55,
+ "keyChar": "¶",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777398
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "¶",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "¶",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "¶",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 56,
+ "keyChar": "•",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "•",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 56,
+ "keyChar": "•",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "•",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "•",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "•",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 57,
+ "keyChar": "ª",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "ª",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 57,
+ "keyChar": "ª",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ª",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ª",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ª",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 48,
+ "keyChar": "º",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777402
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "º",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777402
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 48,
+ "keyChar": "º",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777402
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "º",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "º",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "º",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+-",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 45,
+ "keyChar": "–",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785427
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "–",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785427
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 45,
+ "keyChar": "–",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785427
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "–",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "–",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "–",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+\u003d",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61,
+ "keyChar": "≠",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "≠",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61,
+ "keyChar": "≠",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "≠",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "≠",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "≠",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌫",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "\b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "å",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⇥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 9,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "\t",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 9,
+ "keyChar": "\t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 9
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Tab",
+ "code": "Tab",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Tab",
+ "code": "Tab",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+Q",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 81,
+ "keyChar": "œ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777555
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "œ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777555
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 81,
+ "keyChar": "œ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777555
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "œ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "œ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "œ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+W",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 87,
+ "keyChar": "∑",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "∑",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 87,
+ "keyChar": "∑",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "∑",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "∑",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "∑",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+E",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 69,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 69,
+ "keyChar": "´",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777396
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "´",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+R",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 82,
+ "keyChar": "®",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "®",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 82,
+ "keyChar": "®",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "®",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "®",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "®",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+T",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 84,
+ "keyChar": "†",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "†",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 84,
+ "keyChar": "†",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "†",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "†",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "†",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+Y",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 89,
+ "keyChar": "¥",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777381
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "¥",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777381
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 89,
+ "keyChar": "¥",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777381
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "¥",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "¥",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "¥",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+U",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 85,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 85,
+ "keyChar": "¨",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777384
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "¨",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+I",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 73,
+ "keyChar": "¨",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777384
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "¨",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777384
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 73,
+ "keyChar": "ˆ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "¨",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "¨",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ˆ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+O",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 79,
+ "keyChar": "ø",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777432
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "ø",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777432
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 79,
+ "keyChar": "ø",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777432
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ø",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ø",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ø",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+P",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 80,
+ "keyChar": "π",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778176
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "π",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778176
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 80,
+ "keyChar": "π",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778176
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "π",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "π",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "π",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+[",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 91,
+ "keyChar": "“",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785436
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "“",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785436
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 91,
+ "keyChar": "“",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785436
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "“",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "“",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "“",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+]",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 93,
+ "keyChar": "‘",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "‘",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 93,
+ "keyChar": "‘",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "‘",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "‘",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "‘",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 10,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "\r",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 10,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "å",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+A",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 65,
+ "keyChar": "å",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777413
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "å",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777413
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 65,
+ "keyChar": "å",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777413
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "å",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "å",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "å",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+S",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 83,
+ "keyChar": "ß",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777439
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "ß",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777439
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 83,
+ "keyChar": "ß",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777439
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ß",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ß",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ß",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+D",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 68,
+ "keyChar": "∂",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "∂",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 68,
+ "keyChar": "∂",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "∂",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "∂",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "∂",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+F",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 70,
+ "keyChar": "ƒ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "ƒ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 70,
+ "keyChar": "ƒ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ƒ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ƒ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ƒ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+G",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 71,
+ "keyChar": "©",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "©",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 71,
+ "keyChar": "©",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "©",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "©",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "©",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+H",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 72,
+ "keyChar": "˙",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777945
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "˙",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777945
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 72,
+ "keyChar": "˙",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777945
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "˙",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "˙",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "˙",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+J",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 74,
+ "keyChar": "∆",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "∆",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 74,
+ "keyChar": "∆",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "∆",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "∆",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "∆",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+K",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 75,
+ "keyChar": "˚",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "˚",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 75,
+ "keyChar": "˚",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "˚",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "˚",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "˚",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+L",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 76,
+ "keyChar": "¬",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "¬",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 76,
+ "keyChar": "¬",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "¬",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "¬",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "¬",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+;",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 59,
+ "keyChar": "…",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "…",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 59,
+ "keyChar": "…",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "…",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "…",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "…",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+\u0027",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 222,
+ "keyChar": "æ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777414
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "æ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777414
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 222,
+ "keyChar": "æ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777414
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "æ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "æ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "æ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+\\",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 92,
+ "keyChar": "«",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777387
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "«",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777387
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 92,
+ "keyChar": "«",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777387
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "«",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "«",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "«",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⇧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 576,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+`",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 192,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 192,
+ "keyChar": "`",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Dead",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+Z",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 90,
+ "keyChar": "Ω",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778185
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "Ω",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778185
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 90,
+ "keyChar": "Ω",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778185
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Ω",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "Ω",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Ω",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+X",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 88,
+ "keyChar": "≈",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "≈",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 88,
+ "keyChar": "≈",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "≈",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "≈",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "≈",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+C",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 67,
+ "keyChar": "ç",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777415
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "ç",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777415
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 67,
+ "keyChar": "ç",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777415
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ç",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ç",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ç",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+V",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 86,
+ "keyChar": "√",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "√",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 86,
+ "keyChar": "√",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "√",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "√",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "√",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+B",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 66,
+ "keyChar": "∫",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "∫",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 66,
+ "keyChar": "∫",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "∫",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "∫",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "∫",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+N",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 78,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 78,
+ "keyChar": "˜",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "˜",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+M",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 77,
+ "keyChar": "µ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777397
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "µ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777397
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 77,
+ "keyChar": "µ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777397
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "µ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "µ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "µ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+,",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 44,
+ "keyChar": "≤",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "≤",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 44,
+ "keyChar": "≤",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "≤",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "≤",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "≤",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+.",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 46,
+ "keyChar": "≥",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "≥",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 46,
+ "keyChar": "≥",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "≥",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "≥",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "≥",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+/",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 47,
+ "keyChar": "÷",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777463
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "÷",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777463
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 47,
+ "keyChar": "÷",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777463
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "÷",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "÷",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "÷",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⇧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 576,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 768,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+␣",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 32,
+ "keyChar": " ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": " ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 32,
+ "keyChar": " ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": " ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": " ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": " ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 768,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌃",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 640,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "true",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+↖",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 36,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 36
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 36,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 36
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Home",
+ "code": "Home",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Home",
+ "code": "Home",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+↘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 35,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 35
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 35,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 35
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "End",
+ "code": "End",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "End",
+ "code": "End",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⇞",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 33,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 33
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 33,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 33
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "PageUp",
+ "code": "PageUp",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "PageUp",
+ "code": "PageUp",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⇟",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 34,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 34
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 34,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 34
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "PageDown",
+ "code": "PageDown",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "PageDown",
+ "code": "PageDown",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌦",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 127,
+ "keyChar": "",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 127,
+ "keyChar": "",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Delete",
+ "code": "Delete",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "å",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Delete",
+ "code": "Delete",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+↑",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 38,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 38
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 38,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 38
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ArrowUp",
+ "code": "ArrowUp",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowUp",
+ "code": "ArrowUp",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+←",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 37,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 37
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 37,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 37
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ArrowLeft",
+ "code": "ArrowLeft",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowLeft",
+ "code": "ArrowLeft",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+→",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 39,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 39
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 39,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 39
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ArrowRight",
+ "code": "ArrowRight",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowRight",
+ "code": "ArrowRight",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+↓",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 40,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 40
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 40,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 40
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ArrowDown",
+ "code": "ArrowDown",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowDown",
+ "code": "ArrowDown",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 12,
+ "keyChar": "￿",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 12
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 12,
+ "keyChar": "￿",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 12
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+\u003d",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "\u003d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨ /",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 111,
+ "keyChar": "/",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "/",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 111,
+ "keyChar": "/",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨ *",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 106,
+ "keyChar": "*",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "*",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 106,
+ "keyChar": "*",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 103,
+ "keyChar": "7",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "7",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 103,
+ "keyChar": "7",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 104,
+ "keyChar": "8",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "8",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 104,
+ "keyChar": "8",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 105,
+ "keyChar": "9",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "9",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 105,
+ "keyChar": "9",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨ -",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 109,
+ "keyChar": "-",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "-",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 109,
+ "keyChar": "-",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 100,
+ "keyChar": "4",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "4",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 100,
+ "keyChar": "4",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 101,
+ "keyChar": "5",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "5",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 101,
+ "keyChar": "5",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 102,
+ "keyChar": "6",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "6",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 102,
+ "keyChar": "6",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨ +",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 107,
+ "keyChar": "+",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "+",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 107,
+ "keyChar": "+",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 97,
+ "keyChar": "1",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "1",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 97,
+ "keyChar": "1",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 98,
+ "keyChar": "2",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "2",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 98,
+ "keyChar": "2",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 99,
+ "keyChar": "3",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "3",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 99,
+ "keyChar": "3",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 10,
+ "keyChar": "\u0003",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "\u0003",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 10,
+ "keyChar": "\u0003",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "å",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨-0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 96,
+ "keyChar": "0",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": "0",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 96,
+ "keyChar": "0",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌥+⌨ .",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 401,
+ "modifiers": 512,
+ "keyCode": 110,
+ "keyChar": ".",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 400,
+ "modifiers": 512,
+ "keyCode": 0,
+ "keyChar": ".",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 512,
+ "keyCode": 110,
+ "keyChar": ".",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⎋",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 27,
+ "keyChar": "\u001b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 27
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Escape",
+ "code": "Escape",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 112,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 112
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F1",
+ "code": "F1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 113,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 113
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F2",
+ "code": "F2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 114,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 114
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F3",
+ "code": "F3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 115,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 115
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F4",
+ "code": "F4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 116,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 116
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F5",
+ "code": "F5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 117,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 117
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F6",
+ "code": "F6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 118,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 118
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F7",
+ "code": "F7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 119,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 119
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F8",
+ "code": "F8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 120,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 120
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F9",
+ "code": "F9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F10",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 121,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 121
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F10",
+ "code": "F10",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F11",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 122,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 122
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F11",
+ "code": "F11",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F12",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 123,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 123
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F12",
+ "code": "F12",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F13",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61440,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61440
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "F13",
+ "code": "F13",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F14",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61441,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61441
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F15",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61442,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61442
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F16",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61443,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61443
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F17",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61444,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61444
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F18",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61445,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61445
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F19",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61446,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61446
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+§",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 16777383,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 16777383,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+-",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 45,
+ "keyChar": "-",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 45,
+ "keyChar": "-",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+\u003d",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌫",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 8,
+ "keyChar": "\b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 8
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Backspace",
+ "code": "Backspace",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+W",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 87,
+ "keyChar": "w",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 87,
+ "keyChar": "w",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "w",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "w",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+E",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 69,
+ "keyChar": "e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 69,
+ "keyChar": "e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "e",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "e",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+R",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 82,
+ "keyChar": "r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 82,
+ "keyChar": "r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "r",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "r",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+T",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 84,
+ "keyChar": "t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 84,
+ "keyChar": "t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "t",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "t",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+Y",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 89,
+ "keyChar": "y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 89,
+ "keyChar": "y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+U",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 85,
+ "keyChar": "u",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 85,
+ "keyChar": "u",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "u",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "u",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+I",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 73,
+ "keyChar": "i",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 73,
+ "keyChar": "i",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "i",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "i",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+O",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 79,
+ "keyChar": "o",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 79,
+ "keyChar": "o",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "o",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "o",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+P",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 80,
+ "keyChar": "p",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 80,
+ "keyChar": "p",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "p",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "p",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+[",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 91,
+ "keyChar": "[",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 91
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 91,
+ "keyChar": "[",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 91
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "[",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "[",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+]",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 93,
+ "keyChar": "]",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 93
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 93,
+ "keyChar": "]",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 93
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "]",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "]",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 10,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 10,
+ "keyChar": "\r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+A",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 65,
+ "keyChar": "a",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 65,
+ "keyChar": "a",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+S",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 83,
+ "keyChar": "s",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 83,
+ "keyChar": "s",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "s",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "s",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+D",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 68,
+ "keyChar": "d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 68,
+ "keyChar": "d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "d",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "d",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+F",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 70,
+ "keyChar": "f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 70,
+ "keyChar": "f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "f",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "f",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+G",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 71,
+ "keyChar": "g",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 71,
+ "keyChar": "g",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "g",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "g",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+H",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 72,
+ "keyChar": "h",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 72,
+ "keyChar": "h",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "h",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "h",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+J",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 74,
+ "keyChar": "j",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 74,
+ "keyChar": "j",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "j",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "j",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+K",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 75,
+ "keyChar": "k",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 75,
+ "keyChar": "k",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "k",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "k",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+L",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 76,
+ "keyChar": "l",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 76,
+ "keyChar": "l",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "l",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "l",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+;",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 59,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 59,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ";",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ";",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+\u0027",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 222,
+ "keyChar": "\u0027",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 222,
+ "keyChar": "\u0027",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "\u0027",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u0027",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+\\",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 92,
+ "keyChar": "\\",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 92
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 92,
+ "keyChar": "\\",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 92
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "\\",
+ "code": "Backslash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\\",
+ "code": "Backslash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⇧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 320,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+`",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 192,
+ "keyChar": "`",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 192,
+ "keyChar": "`",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "`",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "`",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+Z",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 90,
+ "keyChar": "z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 90,
+ "keyChar": "z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+X",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 88,
+ "keyChar": "x",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 88,
+ "keyChar": "x",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "x",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "x",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+C",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 67,
+ "keyChar": "c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 67,
+ "keyChar": "c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "c",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "c",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+V",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 86,
+ "keyChar": "v",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 86,
+ "keyChar": "v",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "v",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "v",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+B",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 66,
+ "keyChar": "b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 66,
+ "keyChar": "b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "b",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "b",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+N",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 78,
+ "keyChar": "n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 78,
+ "keyChar": "n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "n",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "n",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+M",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 77,
+ "keyChar": "m",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 77,
+ "keyChar": "m",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "m",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "m",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+,",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 44,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 44,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+.",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 46,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 46,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+/",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 47,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 47,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⇧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 320,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌃",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 384,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 768,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌥",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 768,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 18,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 18
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Alt",
+ "code": "AltRight",
+ "location": "2",
+ "altKey": "true",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Alt",
+ "code": "AltRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌃",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 384,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 17,
+ "keyChar": "￿",
+ "keyLocation": 3,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 17
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Control",
+ "code": "ControlRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "true",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Control",
+ "code": "ControlRight",
+ "location": "2",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+↖",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 36,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 36
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 36,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 36
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Home",
+ "code": "Home",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Home",
+ "code": "Home",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+↘",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 35,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 35
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 35,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 35
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "End",
+ "code": "End",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "End",
+ "code": "End",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⇞",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 33,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 33
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 33,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 33
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "PageUp",
+ "code": "PageUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "PageUp",
+ "code": "PageUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⇟",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 34,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 34
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 34,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 34
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "PageDown",
+ "code": "PageDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "PageDown",
+ "code": "PageDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌦",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 127,
+ "keyChar": "",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 127,
+ "keyChar": "",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 127
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Delete",
+ "code": "Delete",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Delete",
+ "code": "Delete",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+←",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 37,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 37
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 37,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 37
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ArrowLeft",
+ "code": "ArrowLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowLeft",
+ "code": "ArrowLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+↑",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 38,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 38
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 38,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 38
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ArrowUp",
+ "code": "ArrowUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowUp",
+ "code": "ArrowUp",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+↓",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 40,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 40
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 40,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 40
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ArrowDown",
+ "code": "ArrowDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowDown",
+ "code": "ArrowDown",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+→",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 39,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 39
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 39,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 39
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "ArrowRight",
+ "code": "ArrowRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ArrowRight",
+ "code": "ArrowRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌧",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 12,
+ "keyChar": "￿",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 12
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 12,
+ "keyChar": "￿",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 12
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+\u003d",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨ /",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 111,
+ "keyChar": "/",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 111,
+ "keyChar": "/",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨ *",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 106,
+ "keyChar": "*",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 106,
+ "keyChar": "*",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-7",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 103,
+ "keyChar": "7",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 103,
+ "keyChar": "7",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-8",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 104,
+ "keyChar": "8",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 104,
+ "keyChar": "8",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-9",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 105,
+ "keyChar": "9",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 105,
+ "keyChar": "9",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨ -",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 109,
+ "keyChar": "-",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 109,
+ "keyChar": "-",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-4",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 100,
+ "keyChar": "4",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 100,
+ "keyChar": "4",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-5",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 101,
+ "keyChar": "5",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 101,
+ "keyChar": "5",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-6",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 102,
+ "keyChar": "6",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 102,
+ "keyChar": "6",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨ +",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 107,
+ "keyChar": "+",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 107,
+ "keyChar": "+",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-1",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 97,
+ "keyChar": "1",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 97,
+ "keyChar": "1",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-2",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 98,
+ "keyChar": "2",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 98,
+ "keyChar": "2",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-3",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 99,
+ "keyChar": "3",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 99,
+ "keyChar": "3",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⏎",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 10,
+ "keyChar": "\u0003",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 10,
+ "keyChar": "\u0003",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Enter",
+ "code": "Enter",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨-0",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 96,
+ "keyChar": "0",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 96,
+ "keyChar": "0",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⌘+⌨ .",
+ "comments": "basic",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ },
+ {
+ "id": 401,
+ "modifiers": 256,
+ "keyCode": 110,
+ "keyChar": ".",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 256,
+ "keyCode": 110,
+ "keyChar": ".",
+ "keyLocation": 4,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 157,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 157
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keydown",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "true",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "Meta",
+ "code": "MetaLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "§",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 16777383,
+ "keyChar": "\u003e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\u003e",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16777383,
+ "keyChar": "\u003e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "1",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "1",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "2",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "2",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "3",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "3",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "4",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "4",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "5",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "5",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "6",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "6",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "7",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "7",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "8",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "8",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "9",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "9",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "0",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "0",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "-",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 45,
+ "keyChar": "-",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "-",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 45,
+ "keyChar": "-",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "\u003d",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\u003d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 61,
+ "keyChar": "\u003d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003d",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Q",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 81,
+ "keyChar": "й",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778297
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "й",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778297
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 81,
+ "keyChar": "й",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778297
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "й",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "й",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "й",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "W",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 87,
+ "keyChar": "ц",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778310
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ц",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778310
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 87,
+ "keyChar": "ц",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778310
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ц",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ц",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ц",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "E",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 69,
+ "keyChar": "у",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778307
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "у",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778307
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 69,
+ "keyChar": "у",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778307
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "у",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "у",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "у",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "R",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 82,
+ "keyChar": "к",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778298
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "к",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778298
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 82,
+ "keyChar": "к",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778298
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "к",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "к",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "к",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "T",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 84,
+ "keyChar": "е",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778293
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "е",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778293
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 84,
+ "keyChar": "е",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778293
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "е",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "е",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "е",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Y",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 89,
+ "keyChar": "н",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778301
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "н",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778301
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 89,
+ "keyChar": "н",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778301
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "н",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "н",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "н",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "U",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 85,
+ "keyChar": "г",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778291
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "г",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778291
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 85,
+ "keyChar": "г",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778291
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "г",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "г",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "г",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "I",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 73,
+ "keyChar": "ш",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778312
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ш",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778312
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 73,
+ "keyChar": "ш",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778312
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ш",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ш",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ш",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "O",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 79,
+ "keyChar": "щ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778313
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "щ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778313
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 79,
+ "keyChar": "щ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778313
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "щ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "щ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "щ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "P",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 80,
+ "keyChar": "з",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778295
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "з",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778295
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 80,
+ "keyChar": "з",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778295
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "з",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "з",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "з",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "[",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 91,
+ "keyChar": "х",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778309
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "х",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778309
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 91,
+ "keyChar": "х",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778309
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "х",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "х",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "х",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "]",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 93,
+ "keyChar": "ъ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778314
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ъ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778314
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 93,
+ "keyChar": "ъ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778314
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ъ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ъ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ъ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "A",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 65,
+ "keyChar": "ф",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778308
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ф",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778308
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 65,
+ "keyChar": "ф",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778308
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ф",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ф",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ф",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "S",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 83,
+ "keyChar": "ы",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778315
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ы",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778315
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 83,
+ "keyChar": "ы",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778315
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ы",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ы",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ы",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "D",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 68,
+ "keyChar": "в",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778290
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "в",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778290
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 68,
+ "keyChar": "в",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778290
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "в",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "в",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "в",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 70,
+ "keyChar": "а",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778288
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "а",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778288
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 70,
+ "keyChar": "а",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778288
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "а",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "а",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "а",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "G",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 71,
+ "keyChar": "п",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778303
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "п",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778303
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 71,
+ "keyChar": "п",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778303
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "п",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "п",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "п",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "H",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 72,
+ "keyChar": "р",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778304
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "р",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778304
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 72,
+ "keyChar": "р",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778304
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "р",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "р",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "р",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "J",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 74,
+ "keyChar": "о",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778302
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "о",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778302
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 74,
+ "keyChar": "о",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778302
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "о",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "о",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "о",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "K",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 75,
+ "keyChar": "л",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778299
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "л",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778299
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 75,
+ "keyChar": "л",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778299
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "л",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "л",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "л",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "L",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 76,
+ "keyChar": "д",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778292
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "д",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778292
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 76,
+ "keyChar": "д",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778292
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "д",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "д",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "д",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": ";",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 59,
+ "keyChar": "ж",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778294
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ж",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778294
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 59,
+ "keyChar": "ж",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778294
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ж",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ж",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ж",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "\u0027",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 222,
+ "keyChar": "э",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778317
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "э",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778317
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 222,
+ "keyChar": "э",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778317
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "э",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "э",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "э",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "\\",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 92,
+ "keyChar": "ё",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778321
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ё",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778321
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 92,
+ "keyChar": "ё",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778321
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ё",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ё",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ё",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "`",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 192,
+ "keyChar": "]",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 93
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "]",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 93
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 192,
+ "keyChar": "]",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 93
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "]",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "]",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "]",
+ "code": "BracketRight",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Z",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 90,
+ "keyChar": "я",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778319
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "я",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778319
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 90,
+ "keyChar": "я",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778319
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "я",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "я",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "я",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "X",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 88,
+ "keyChar": "ч",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778311
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ч",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778311
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 88,
+ "keyChar": "ч",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778311
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ч",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ч",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ч",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "C",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 67,
+ "keyChar": "с",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778305
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "с",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778305
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 67,
+ "keyChar": "с",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778305
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "с",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "с",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "с",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "V",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 86,
+ "keyChar": "м",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778300
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "м",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778300
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 86,
+ "keyChar": "м",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778300
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "м",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "м",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "м",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "B",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 66,
+ "keyChar": "и",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778296
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "и",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778296
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 66,
+ "keyChar": "и",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778296
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "и",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "и",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "и",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "N",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 78,
+ "keyChar": "т",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778306
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "т",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778306
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 78,
+ "keyChar": "т",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778306
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "т",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "т",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "т",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "M",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 77,
+ "keyChar": "ь",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778316
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ь",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778316
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 77,
+ "keyChar": "ь",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778316
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ь",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ь",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ь",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": ",",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 44,
+ "keyChar": "б",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778289
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "б",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778289
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 44,
+ "keyChar": "б",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778289
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "б",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "б",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "б",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": ".",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 46,
+ "keyChar": "ю",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778318
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ю",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778318
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 46,
+ "keyChar": "ю",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778318
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ю",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ю",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ю",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "/",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 47,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "/",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 47,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "/",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+§",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16777383,
+ "keyChar": "\u003c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u003c",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 16777383,
+ "keyChar": "\u003c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+1",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 49,
+ "keyChar": "!",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "!",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 49,
+ "keyChar": "!",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+2",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 50,
+ "keyChar": "\"",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\"",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 50,
+ "keyChar": "\"",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+3",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 51,
+ "keyChar": "№",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785686
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "№",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785686
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 51,
+ "keyChar": "№",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16785686
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "№",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "№",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "№",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+4",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 52,
+ "keyChar": "%",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "%",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 52,
+ "keyChar": "%",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+5",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 53,
+ "keyChar": ":",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ":",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 53,
+ "keyChar": ":",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+6",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 54,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ",",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 54,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+7",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 55,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ".",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 55,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+8",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 56,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ";",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 56,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+9",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 57,
+ "keyChar": "(",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "(",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 57,
+ "keyChar": "(",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+0",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 48,
+ "keyChar": ")",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ")",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 48,
+ "keyChar": ")",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+-",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 45,
+ "keyChar": "_",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "_",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 45,
+ "keyChar": "_",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+\u003d",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 61,
+ "keyChar": "+",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "+",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 61,
+ "keyChar": "+",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Q",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 81,
+ "keyChar": "Й",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778297
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Й",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778297
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 81,
+ "keyChar": "Й",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778297
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Й",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Й",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Й",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+W",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 87,
+ "keyChar": "Ц",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778310
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ц",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778310
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 87,
+ "keyChar": "Ц",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778310
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ц",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ц",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ц",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+E",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 69,
+ "keyChar": "У",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778307
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "У",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778307
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 69,
+ "keyChar": "У",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778307
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "У",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "У",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "У",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+R",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 82,
+ "keyChar": "К",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778298
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "К",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778298
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 82,
+ "keyChar": "К",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778298
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "К",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "К",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "К",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+T",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 84,
+ "keyChar": "Е",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778293
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Е",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778293
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 84,
+ "keyChar": "Е",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778293
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Е",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Е",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Е",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Y",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 89,
+ "keyChar": "Н",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778301
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Н",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778301
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 89,
+ "keyChar": "Н",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778301
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Н",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Н",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Н",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+U",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 85,
+ "keyChar": "Г",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778291
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Г",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778291
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 85,
+ "keyChar": "Г",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778291
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Г",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Г",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Г",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+I",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 73,
+ "keyChar": "Ш",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778312
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ш",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778312
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 73,
+ "keyChar": "Ш",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778312
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ш",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ш",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ш",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+O",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 79,
+ "keyChar": "Щ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778313
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Щ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778313
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 79,
+ "keyChar": "Щ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778313
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Щ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Щ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Щ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+P",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 80,
+ "keyChar": "З",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778295
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "З",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778295
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 80,
+ "keyChar": "З",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778295
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "З",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "З",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "З",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+[",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 91,
+ "keyChar": "Х",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778309
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Х",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778309
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 91,
+ "keyChar": "Х",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778309
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Х",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Х",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Х",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+]",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 93,
+ "keyChar": "Ъ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778314
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ъ",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778314
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 93,
+ "keyChar": "Ъ",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778314
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ъ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ъ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ъ",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+A",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 65,
+ "keyChar": "Ф",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778308
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ф",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778308
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 65,
+ "keyChar": "Ф",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778308
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ф",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ф",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ф",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+S",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 83,
+ "keyChar": "Ы",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778315
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ы",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778315
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 83,
+ "keyChar": "Ы",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778315
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ы",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ы",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ы",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+D",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 68,
+ "keyChar": "В",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778290
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "В",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778290
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 68,
+ "keyChar": "В",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778290
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "В",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "В",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "В",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 70,
+ "keyChar": "А",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778288
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "А",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778288
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 70,
+ "keyChar": "А",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778288
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "А",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "А",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "А",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+G",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 71,
+ "keyChar": "П",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778303
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "П",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778303
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 71,
+ "keyChar": "П",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778303
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "П",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "П",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "П",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+H",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 72,
+ "keyChar": "Р",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778304
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Р",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778304
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 72,
+ "keyChar": "Р",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778304
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Р",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Р",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Р",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+J",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 74,
+ "keyChar": "О",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778302
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "О",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778302
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 74,
+ "keyChar": "О",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778302
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "О",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "О",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "О",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+K",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 75,
+ "keyChar": "Л",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778299
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Л",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778299
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 75,
+ "keyChar": "Л",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778299
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Л",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Л",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Л",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+L",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 76,
+ "keyChar": "Д",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778292
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Д",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778292
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 76,
+ "keyChar": "Д",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778292
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Д",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Д",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Д",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+;",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 59,
+ "keyChar": "Ж",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778294
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ж",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778294
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 59,
+ "keyChar": "Ж",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778294
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ж",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ж",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ж",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+\u0027",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 222,
+ "keyChar": "Э",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778317
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Э",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778317
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 222,
+ "keyChar": "Э",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778317
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Э",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Э",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Э",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+\\",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 92,
+ "keyChar": "Ё",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778321
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ё",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778321
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 92,
+ "keyChar": "Ё",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778321
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ё",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ё",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ё",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+`",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 192,
+ "keyChar": "[",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 91
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "[",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 91
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 192,
+ "keyChar": "[",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 91
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "{",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "{",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "{",
+ "code": "BracketLeft",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Z",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 90,
+ "keyChar": "Я",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778319
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Я",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778319
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 90,
+ "keyChar": "Я",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778319
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Я",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Я",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Я",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+X",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 88,
+ "keyChar": "Ч",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778311
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ч",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778311
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 88,
+ "keyChar": "Ч",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778311
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ч",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ч",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ч",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+C",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 67,
+ "keyChar": "С",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778305
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "С",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778305
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 67,
+ "keyChar": "С",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778305
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "С",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "С",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "С",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+V",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 86,
+ "keyChar": "М",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778300
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "М",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778300
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 86,
+ "keyChar": "М",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778300
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "М",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "М",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "М",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+B",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 66,
+ "keyChar": "И",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778296
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "И",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778296
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 66,
+ "keyChar": "И",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778296
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "И",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "И",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "И",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+N",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 78,
+ "keyChar": "Т",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778306
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Т",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778306
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 78,
+ "keyChar": "Т",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778306
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Т",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Т",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Т",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+M",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 77,
+ "keyChar": "Ь",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778316
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ь",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778316
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 77,
+ "keyChar": "Ь",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778316
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ь",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ь",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ь",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+,",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 44,
+ "keyChar": "Б",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778289
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Б",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778289
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 44,
+ "keyChar": "Б",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778289
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Б",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Б",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Б",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+.",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 46,
+ "keyChar": "Ю",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778318
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ю",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778318
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 46,
+ "keyChar": "Ю",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16778318
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ю",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ю",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ю",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+/",
+ "comments": "ru",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 47,
+ "keyChar": "?",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "?",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 47,
+ "keyChar": "?",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "^",
+ "comments": "de - disabled",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 514,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 514
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 514,
+ "keyChar": "^",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 514
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "^",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "1",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "1",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 49,
+ "keyChar": "1",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 49
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "1",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "2",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "2",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 50,
+ "keyChar": "2",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 50
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "2",
+ "code": "Digit2",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "3",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "3",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 51,
+ "keyChar": "3",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 51
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "3",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "4",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "4",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 52,
+ "keyChar": "4",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 52
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "4",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "5",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "5",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 53,
+ "keyChar": "5",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 53
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "5",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "6",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "6",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 54,
+ "keyChar": "6",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 54
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "6",
+ "code": "Digit6",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "7",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "7",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 55,
+ "keyChar": "7",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 55
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "7",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "8",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "8",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 56,
+ "keyChar": "8",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 56
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "8",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "9",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "9",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 57,
+ "keyChar": "9",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 57
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "9",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "0",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "0",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 48,
+ "keyChar": "0",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 48
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "0",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "ß",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 16777439,
+ "keyChar": "ß",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777439
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ß",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777439
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16777439,
+ "keyChar": "ß",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777439
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ß",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ß",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ß",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "´",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 16777396,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777396
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16777396,
+ "keyChar": "´",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777396
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "´",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Q",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 81,
+ "keyChar": "q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "q",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 81,
+ "keyChar": "q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "W",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 87,
+ "keyChar": "w",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "w",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 87,
+ "keyChar": "w",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "w",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "w",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "w",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "E",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 69,
+ "keyChar": "e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "e",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 69,
+ "keyChar": "e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "e",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "e",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "e",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "R",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 82,
+ "keyChar": "r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "r",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 82,
+ "keyChar": "r",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "r",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "r",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "r",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "T",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 84,
+ "keyChar": "t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "t",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 84,
+ "keyChar": "t",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "t",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "t",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "t",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Z",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 90,
+ "keyChar": "z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "z",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 90,
+ "keyChar": "z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "U",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 85,
+ "keyChar": "u",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "u",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 85,
+ "keyChar": "u",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "u",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "u",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "u",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "I",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 73,
+ "keyChar": "i",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "i",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 73,
+ "keyChar": "i",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "i",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "i",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "i",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "O",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 79,
+ "keyChar": "o",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "o",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 79,
+ "keyChar": "o",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "o",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "o",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "o",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "P",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 80,
+ "keyChar": "p",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "p",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 80,
+ "keyChar": "p",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "p",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "p",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "p",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "ü",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 16777468,
+ "keyChar": "ü",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777468
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ü",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777468
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16777468,
+ "keyChar": "ü",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777468
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ü",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ü",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ü",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "+",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 521,
+ "keyChar": "+",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "+",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 521,
+ "keyChar": "+",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 521
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "A",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 65,
+ "keyChar": "a",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "a",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 65,
+ "keyChar": "a",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "a",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "S",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 83,
+ "keyChar": "s",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "s",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 83,
+ "keyChar": "s",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "s",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "s",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "s",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "D",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 68,
+ "keyChar": "d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 68,
+ "keyChar": "d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "d",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "d",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "d",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "F",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 70,
+ "keyChar": "f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "f",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 70,
+ "keyChar": "f",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "f",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "f",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "f",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "G",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 71,
+ "keyChar": "g",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "g",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 71,
+ "keyChar": "g",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "g",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "g",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "g",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "H",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 72,
+ "keyChar": "h",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "h",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 72,
+ "keyChar": "h",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "h",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "h",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "h",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "J",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 74,
+ "keyChar": "j",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "j",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 74,
+ "keyChar": "j",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "j",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "j",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "j",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "K",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 75,
+ "keyChar": "k",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "k",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 75,
+ "keyChar": "k",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "k",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "k",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "k",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "L",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 76,
+ "keyChar": "l",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "l",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 76,
+ "keyChar": "l",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "l",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "l",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "l",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Ö",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 16777430,
+ "keyChar": "ö",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777430
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ö",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777430
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16777430,
+ "keyChar": "ö",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777430
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ö",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ö",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ö",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Ä",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 16777412,
+ "keyChar": "ä",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777412
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "ä",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777412
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16777412,
+ "keyChar": "ä",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777412
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "ä",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "ä",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "ä",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "#",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 520,
+ "keyChar": "#",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 520
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "#",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 520
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 520,
+ "keyChar": "#",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 520
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "#",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "#",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "#",
+ "code": "Digit3",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "\u003c",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 153,
+ "keyChar": "\u003c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "\u003c",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 153,
+ "keyChar": "\u003c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 153
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003c",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "Y",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 89,
+ "keyChar": "y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "y",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 89,
+ "keyChar": "y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "X",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 88,
+ "keyChar": "x",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "x",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 88,
+ "keyChar": "x",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "x",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "x",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "x",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "C",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 67,
+ "keyChar": "c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "c",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 67,
+ "keyChar": "c",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "c",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "c",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "c",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "V",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 86,
+ "keyChar": "v",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "v",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 86,
+ "keyChar": "v",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "v",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "v",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "v",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "B",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 66,
+ "keyChar": "b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "b",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 66,
+ "keyChar": "b",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "b",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "b",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "b",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "N",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 78,
+ "keyChar": "n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "n",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 78,
+ "keyChar": "n",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "n",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "n",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "n",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "M",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 77,
+ "keyChar": "m",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "m",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 77,
+ "keyChar": "m",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "m",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "m",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "m",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": ",",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 44,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": ",",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 44,
+ "keyChar": ",",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 44
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ",",
+ "code": "Comma",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": ".",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 46,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": ".",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 46,
+ "keyChar": ".",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 46
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": ".",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "-",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 0,
+ "keyCode": 45,
+ "keyChar": "-",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 400,
+ "modifiers": 0,
+ "keyCode": 0,
+ "keyChar": "-",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 45,
+ "keyChar": "-",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 45
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keypress",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ },
+ {
+ "type": "keyup",
+ "key": "-",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+^",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 514,
+ "keyChar": "°",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777392
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "°",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777392
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 514,
+ "keyChar": "°",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777392
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "°",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "°",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "°",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+1",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 49,
+ "keyChar": "!",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "!",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 49,
+ "keyChar": "!",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 517
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "!",
+ "code": "Digit1",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+2",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 50,
+ "keyChar": "\"",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\"",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 50,
+ "keyChar": "\"",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 152
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+3",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 51,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "§",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 51,
+ "keyChar": "§",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777383
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "§",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+4",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 52,
+ "keyChar": "$",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 515
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "$",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 515
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 52,
+ "keyChar": "$",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 515
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "$",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "$",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "$",
+ "code": "Digit4",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+5",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 53,
+ "keyChar": "%",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "%",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 53,
+ "keyChar": "%",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "%",
+ "code": "Digit5",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+6",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 54,
+ "keyChar": "\u0026",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 150
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u0026",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 150
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 54,
+ "keyChar": "\u0026",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 150
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\u0026",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\u0026",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\u0026",
+ "code": "Digit7",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+7",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 55,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "/",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 55,
+ "keyChar": "/",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 47
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+8",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 56,
+ "keyChar": "(",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "(",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 56,
+ "keyChar": "(",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 519
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "(",
+ "code": "Digit9",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+9",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 57,
+ "keyChar": ")",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ")",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 57,
+ "keyChar": ")",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 522
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": ")",
+ "code": "Digit0",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+0",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 48,
+ "keyChar": "\u003d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u003d",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 48,
+ "keyChar": "\u003d",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 61
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "+",
+ "code": "Equal",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+ß",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16777439,
+ "keyChar": "?",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "?",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 16777439,
+ "keyChar": "?",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 0
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "?",
+ "code": "Slash",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+´",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16777396,
+ "keyChar": "￿",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777396
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 16777396,
+ "keyChar": "`",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 192
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "￿",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "~",
+ "code": "Backquote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Q",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 81,
+ "keyChar": "Q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Q",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 81,
+ "keyChar": "Q",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 81
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Q",
+ "code": "KeyQ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+W",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 87,
+ "keyChar": "W",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "W",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 87,
+ "keyChar": "W",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 87
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "W",
+ "code": "KeyW",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+E",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 69,
+ "keyChar": "E",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "E",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 69,
+ "keyChar": "E",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 69
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "E",
+ "code": "KeyE",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+R",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 82,
+ "keyChar": "R",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "R",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 82,
+ "keyChar": "R",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 82
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "R",
+ "code": "KeyR",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+T",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 84,
+ "keyChar": "T",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "T",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 84,
+ "keyChar": "T",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 84
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "T",
+ "code": "KeyT",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Z",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 90,
+ "keyChar": "Z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Z",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 90,
+ "keyChar": "Z",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 90
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Z",
+ "code": "KeyZ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+U",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 85,
+ "keyChar": "U",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "U",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 85,
+ "keyChar": "U",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 85
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "U",
+ "code": "KeyU",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+I",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 73,
+ "keyChar": "I",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "I",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 73,
+ "keyChar": "I",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 73
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "I",
+ "code": "KeyI",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+O",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 79,
+ "keyChar": "O",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "O",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 79,
+ "keyChar": "O",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 79
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "O",
+ "code": "KeyO",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+P",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 80,
+ "keyChar": "P",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "P",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 80,
+ "keyChar": "P",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 80
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "P",
+ "code": "KeyP",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+ü",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16777468,
+ "keyChar": "Ü",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777468
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ü",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777468
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 16777468,
+ "keyChar": "Ü",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777468
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ü",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ü",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ü",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧++",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 521,
+ "keyChar": "*",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "*",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 521,
+ "keyChar": "*",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 151
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "*",
+ "code": "Digit8",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+A",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 65,
+ "keyChar": "A",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "A",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 65,
+ "keyChar": "A",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 65
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "A",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+S",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 83,
+ "keyChar": "S",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "S",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 83,
+ "keyChar": "S",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 83
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "S",
+ "code": "KeyS",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+D",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 68,
+ "keyChar": "D",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "D",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 68,
+ "keyChar": "D",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 68
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "D",
+ "code": "KeyD",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+F",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 70,
+ "keyChar": "F",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "F",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 70,
+ "keyChar": "F",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 70
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "F",
+ "code": "KeyF",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+G",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 71,
+ "keyChar": "G",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "G",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 71,
+ "keyChar": "G",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 71
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "G",
+ "code": "KeyG",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+H",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 72,
+ "keyChar": "H",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "H",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 72,
+ "keyChar": "H",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 72
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "H",
+ "code": "KeyH",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+J",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 74,
+ "keyChar": "J",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "J",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 74,
+ "keyChar": "J",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 74
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "J",
+ "code": "KeyJ",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+K",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 75,
+ "keyChar": "K",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "K",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 75,
+ "keyChar": "K",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 75
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "K",
+ "code": "KeyK",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+L",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 76,
+ "keyChar": "L",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "L",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 76,
+ "keyChar": "L",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 76
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "L",
+ "code": "KeyL",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Ö",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16777430,
+ "keyChar": "Ö",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777430
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ö",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777430
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 16777430,
+ "keyChar": "Ö",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777430
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ö",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ö",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ö",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Ä",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16777412,
+ "keyChar": "Ä",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777412
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Ä",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777412
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 16777412,
+ "keyChar": "Ä",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16777412
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Ä",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Ä",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Ä",
+ "code": "KeyA",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+#",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 520,
+ "keyChar": "\u0027",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u0027",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 520,
+ "keyChar": "\u0027",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 222
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\"",
+ "code": "Quote",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+\u003c",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 153,
+ "keyChar": "\u003e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "\u003e",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 153,
+ "keyChar": "\u003e",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 160
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "\u003e",
+ "code": "Period",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+Y",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 89,
+ "keyChar": "Y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "Y",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 89,
+ "keyChar": "Y",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 89
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Y",
+ "code": "KeyY",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+X",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 88,
+ "keyChar": "X",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "X",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 88,
+ "keyChar": "X",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 88
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "X",
+ "code": "KeyX",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+C",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 67,
+ "keyChar": "C",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "C",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 67,
+ "keyChar": "C",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 67
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "C",
+ "code": "KeyC",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+V",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 86,
+ "keyChar": "V",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "V",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 86,
+ "keyChar": "V",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 86
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "V",
+ "code": "KeyV",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+B",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 66,
+ "keyChar": "B",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "B",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 66,
+ "keyChar": "B",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 66
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "B",
+ "code": "KeyB",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+N",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 78,
+ "keyChar": "N",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "N",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 78,
+ "keyChar": "N",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 78
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "N",
+ "code": "KeyN",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+M",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 77,
+ "keyChar": "M",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "M",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 77,
+ "keyChar": "M",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 77
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "M",
+ "code": "KeyM",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+,",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 44,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ";",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 44,
+ "keyChar": ";",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 59
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+.",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 46,
+ "keyChar": ":",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": ":",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 46,
+ "keyChar": ":",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 513
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": ":",
+ "code": "Semicolon",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ },
+ {
+ "name": "⇧+-",
+ "comments": "de",
+ "eventsJava": [
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ },
+ {
+ "id": 401,
+ "modifiers": 64,
+ "keyCode": 45,
+ "keyChar": "_",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 400,
+ "modifiers": 64,
+ "keyCode": 0,
+ "keyChar": "_",
+ "keyLocation": 0,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 402,
+ "modifiers": 64,
+ "keyCode": 45,
+ "keyChar": "_",
+ "keyLocation": 1,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 523
+ },
+ {
+ "id": 402,
+ "modifiers": 0,
+ "keyCode": 16,
+ "keyChar": "￿",
+ "keyLocation": 2,
+ "rawCode": 0,
+ "primaryLevelUnicode": 0,
+ "scancode": 0,
+ "extendedKeyCode": 16
+ }
+ ],
+ "eventsJSExpected": [
+ {
+ "type": "keydown",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keydown",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keypress",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "_",
+ "code": "Minus",
+ "location": "0",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "true"
+ },
+ {
+ "type": "keyup",
+ "key": "Shift",
+ "code": "ShiftLeft",
+ "location": "1",
+ "altKey": "false",
+ "ctrlKey": "false",
+ "metaKay": "false",
+ "shiftKey": "false"
+ }
+ ]
+ }
+] \ No newline at end of file
diff --git a/java_tests/tests/keyboard/Scenario.java b/java_tests/tests/keyboard/Scenario.java
new file mode 100644
index 0000000..322720d
--- /dev/null
+++ b/java_tests/tests/keyboard/Scenario.java
@@ -0,0 +1,219 @@
+package tests.keyboard;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.reflect.TypeToken;
+
+import java.awt.*;
+import java.awt.event.KeyEvent;
+import java.lang.reflect.Field;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+public class Scenario {
+ public String name;
+ public String comments;
+ public List<EventDataJava> eventsJava;
+ public List<EventDataJS> eventsJSExpected;
+
+ public Scenario(String name, List<EventDataJava> events) {
+ this(name, "", events, new ArrayList<>());
+ }
+
+ public Scenario(String name, String comments, List<EventDataJava> eventsJava, List<EventDataJS> eventsJSExpected) {
+ this.name = name;
+ this.comments = comments;
+ this.eventsJava = eventsJava;
+ this.eventsJSExpected = eventsJSExpected;
+ }
+
+ @Override
+ public String toString() {
+ String result = name + "(" + eventsJava.size() + " events)";
+ if (comments != null && !comments.isEmpty()) {
+ result = result + "[" + comments + "]";
+ }
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Scenario scenario = (Scenario) o;
+ return Objects.equals(name, scenario.name) && Objects.equals(comments, scenario.comments) && Objects.equals(eventsJava, scenario.eventsJava) && Objects.equals(eventsJSExpected, scenario.eventsJSExpected);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, comments, eventsJava, eventsJSExpected);
+ }
+
+ public static class EventDataJava {
+ static final Map<Integer, String> ID_TO_TYPE = Map.of(
+ KeyEvent.KEY_PRESSED, "KEY_PRESSED",
+ KeyEvent.KEY_TYPED, "KEY_TYPED",
+ KeyEvent.KEY_RELEASED, "KEY_RELEASED"
+ );
+ static final Map<Integer, String> KEY_LOCATION_TO_STRING = Map.of(
+ KeyEvent.KEY_LOCATION_UNKNOWN, "KEY_LOCATION_UNKNOWN",
+ KeyEvent.KEY_LOCATION_STANDARD, "KEY_LOCATION_STANDARD",
+ KeyEvent.KEY_LOCATION_LEFT, "KEY_LOCATION_LEFT",
+ KeyEvent.KEY_LOCATION_RIGHT, "KEY_LOCATION_RIGHT",
+ KeyEvent.KEY_LOCATION_NUMPAD, "KEY_LOCATION_NUMPAD"
+ );
+ public int id;
+ public int modifiers;
+ public int keyCode;
+ public char keyChar;
+ public int keyLocation;
+ private final long rawCode;
+ private final long primaryLevelUnicode;
+ private final long scancode; // for MS Windows only
+ private final long extendedKeyCode;
+
+ EventDataJava(KeyEvent e) {
+ id = e.getID();
+ modifiers = e.getModifiersEx();
+ keyCode = e.getKeyCode();
+ keyChar = e.getKeyChar();
+ keyLocation = e.getKeyLocation();
+ rawCode = getPrivateLongField(e, "rawCode");
+ primaryLevelUnicode = getPrivateLongField(e, "primaryLevelUnicode");
+ scancode = getPrivateLongField(e, "scancode");
+ extendedKeyCode = getPrivateLongField(e, "extendedKeyCode");
+ }
+
+ public KeyEvent makeKeyEvent(Component component) {
+ KeyEvent result = new KeyEvent(component, id, 0, modifiers, keyCode, keyChar, keyLocation);
+ setPrivateLongField(result, "rawCode", rawCode);
+ setPrivateLongField(result, "primaryLevelUnicode", primaryLevelUnicode);
+ setPrivateLongField(result, "scancode", scancode);
+ setPrivateLongField(result, "extendedKeyCode", extendedKeyCode);
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ return "{" +
+ "id=" + ID_TO_TYPE.getOrDefault(id, "unknown") +
+ ", modifiers=" + modifiers + "(0b" + Integer.toBinaryString(modifiers) + ")" +
+ ", keyCode=" + keyCode + "(0x" + Integer.toHexString(keyCode) + ")" +
+ ", keyChar=" + keyChar + "(" + (int) keyChar + ", 0x" + Integer.toHexString(keyChar) + ")" +
+ ", keyLocation=" + KEY_LOCATION_TO_STRING.getOrDefault(keyLocation, "unknown") +
+ ", rawCode=" + rawCode + "(0x" + Long.toHexString(rawCode) + ")" +
+ ", primaryLevelUnicode=" + primaryLevelUnicode + "(0x" + Long.toHexString(primaryLevelUnicode) + ")" +
+ ", scancode=" + scancode + "(0x" + Long.toHexString(scancode) + ")" +
+ ", extendedKeyCode=" + extendedKeyCode + "(0x" + Long.toHexString(extendedKeyCode) + ")" +
+ '}';
+ }
+
+ private static long getPrivateLongField(KeyEvent e, String name) {
+ Field field;
+ try {
+ field = KeyEvent.class.getDeclaredField(name);
+ } catch (NoSuchFieldException ex) {
+ return Long.MAX_VALUE;
+ }
+ field.setAccessible(true);
+ try {
+ return (long) field.get(e);
+ } catch (IllegalAccessException ex) {
+ return Long.MAX_VALUE;
+ }
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ EventDataJava that = (EventDataJava) o;
+ return id == that.id && modifiers == that.modifiers && keyCode == that.keyCode && keyChar == that.keyChar && keyLocation == that.keyLocation && rawCode == that.rawCode && primaryLevelUnicode == that.primaryLevelUnicode && scancode == that.scancode && extendedKeyCode == that.extendedKeyCode;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, modifiers, keyCode, keyChar, keyLocation, rawCode, primaryLevelUnicode, scancode, extendedKeyCode);
+ }
+ }
+
+ private static void setPrivateLongField(KeyEvent e, String name, long value) {
+ Field field;
+ try {
+ field = KeyEvent.class.getDeclaredField(name);
+ } catch (NoSuchFieldException ex) {
+ return;
+ }
+ field.setAccessible(true);
+ try {
+ field.set(e, value);
+ } catch (IllegalAccessException ignored) {
+ }
+
+ }
+
+ public static class EventDataJS {
+ public final String type;
+ public final String key;
+ public final String code;
+ public final String location;
+ public final String altKey;
+ public final String ctrlKey;
+ public final String metaKay;
+ public final String shiftKey;
+
+ public static EventDataJS fromJson(String jsonText) {
+ return new Gson().fromJson(jsonText, EventDataJS.class);
+ }
+
+ public String toJson() {
+ return new GsonBuilder()
+ .setPrettyPrinting()
+ .create()
+ .toJson(this);
+ }
+
+
+ private EventDataJS(String type, String key, String code, String location, String altKey, String ctrlKey, String metaKay, String shiftKey) {
+ this.type = type;
+ this.key = key;
+ this.code = code;
+ this.location = location;
+ this.altKey = altKey;
+ this.ctrlKey = ctrlKey;
+ this.metaKay = metaKay;
+ this.shiftKey = shiftKey;
+ }
+
+ @Override
+ public String toString() {
+ return toJson();
+// return "{" +
+// "type='" + type + '\'' +
+// ", key='" + key + '\'' +
+// ", code='" + code + '\'' +
+// ", location='" + location + '\'' +
+// ", altKey='" + altKey + '\'' +
+// ", ctrlKey='" + ctrlKey + '\'' +
+// ", metaKay='" + metaKay + '\'' +
+// ", shiftKey='" + shiftKey + '\'' +
+// '}';
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ EventDataJS that = (EventDataJS) o;
+ return Objects.equals(type, that.type) && Objects.equals(key, that.key) && Objects.equals(code, that.code) && Objects.equals(location, that.location) && Objects.equals(altKey, that.altKey) && Objects.equals(ctrlKey, that.ctrlKey) && Objects.equals(metaKay, that.metaKay) && Objects.equals(shiftKey, that.shiftKey);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type, key, code, location, altKey, ctrlKey, metaKay, shiftKey);
+ }
+ }
+}
diff --git a/java_tests/tests/keyboard/ScenarioMaker.java b/java_tests/tests/keyboard/ScenarioMaker.java
new file mode 100644
index 0000000..afd906c
--- /dev/null
+++ b/java_tests/tests/keyboard/ScenarioMaker.java
@@ -0,0 +1,244 @@
+package tests.keyboard;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.reflect.TypeToken;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.file.Files;
+import java.util.List;
+import java.util.*;
+
+public class ScenarioMaker {
+ public static void main(String[] args) {
+ Impl app = new Impl();
+ app.run();
+ }
+
+ public static class Impl {
+ final static String START_BUTTON_TEXT = "\uD83D\uDD34(Press to start)";
+ final static String STOP_BUTTON_TEXT = "⏹(Press to stop)";
+
+ private final JFrame myFrame = new JFrame("Keyboard test scenario generator");
+
+ private final JButton mySaveButton = new JButton("Save...");
+ private final JButton myLoadButton = new JButton("Load...");
+ private final JButton myDeleteScenarioButton = new JButton("Delete");
+ private final JButton myResetCompositionButton = new JButton("Reset composition");
+ private final JButton myResetButton = new JButton("New");
+ private final JLabel myStartButton = new JLabel(START_BUTTON_TEXT);
+
+ private final DefaultListModel<Scenario> myScenariosList = new DefaultListModel<>();
+ private final JList<Scenario> myScenariosListComponent = new JList<>(myScenariosList);
+
+ private final DefaultListModel<Scenario.EventDataJava> myEventsList = new DefaultListModel<>();
+ private final JList<Scenario.EventDataJava> myEventListComponent = new JList<>(myEventsList);
+
+ private final DefaultListModel<Scenario.EventDataJava> myCompositionEventsList = new DefaultListModel<>();
+ private final JList<Scenario.EventDataJava> myCompositionEventListComponent = new JList<>(myCompositionEventsList);
+
+ private final List<JComponent> activeComponents = Arrays.asList(mySaveButton, myLoadButton,
+ myDeleteScenarioButton, myResetCompositionButton, myResetButton, myScenariosListComponent,
+ myEventListComponent);
+ private final ScenarioCompositor myScenarioCompositor = new ScenarioCompositor();
+
+ public void run() {
+ SwingUtilities.invokeLater(this::makeUI);
+ SwingUtilities.invokeLater(this::init);
+ }
+
+ private void makeUI() {
+ myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ myFrame.getContentPane().setLayout(new BoxLayout(myFrame.getContentPane(), BoxLayout.X_AXIS));
+
+ JPanel scenarioPanel = new JPanel();
+ scenarioPanel.setBorder(BorderFactory.createTitledBorder("Scenarios"));
+ scenarioPanel.setLayout(new BoxLayout(scenarioPanel, BoxLayout.Y_AXIS));
+ scenarioPanel.add(new JScrollPane(myScenariosListComponent));
+ myFrame.add(scenarioPanel);
+
+ JPanel scenarioButtonsPanel = new JPanel();
+ scenarioButtonsPanel.setLayout(new BoxLayout(scenarioButtonsPanel, BoxLayout.X_AXIS));
+ scenarioButtonsPanel.add(mySaveButton);
+ scenarioButtonsPanel.add(myLoadButton);
+ scenarioButtonsPanel.add(myResetButton);
+ scenarioButtonsPanel.add(Box.createHorizontalGlue());
+ myStartButton.setBorder(BorderFactory.createLineBorder(Color.RED, 2));
+ scenarioButtonsPanel.add(myStartButton);
+ scenarioButtonsPanel.add(Box.createHorizontalGlue());
+ scenarioButtonsPanel.add(myDeleteScenarioButton);
+ scenarioButtonsPanel.add(myResetCompositionButton);
+ scenarioPanel.add(scenarioButtonsPanel);
+
+ JPanel compositionPanel = new JPanel();
+ compositionPanel.setLayout(new BoxLayout(compositionPanel, BoxLayout.Y_AXIS));
+ compositionPanel.add(new Label("Composition:"));
+ compositionPanel.add(new JScrollPane(myCompositionEventListComponent));
+ scenarioPanel.add(compositionPanel);
+ compositionPanel.setMaximumSize(compositionPanel.getPreferredSize());
+
+ JPanel eventsPanel = new JPanel();
+ eventsPanel.setBorder(BorderFactory.createTitledBorder("Events in the scenario"));
+ eventsPanel.setLayout(new BoxLayout(eventsPanel, BoxLayout.Y_AXIS));
+ myCompositionEventListComponent.setVisibleRowCount(5);
+ eventsPanel.add(new JScrollPane(myEventListComponent));
+ myFrame.add(eventsPanel);
+
+ JPanel eventsButtonsPanel = new JPanel();
+ eventsButtonsPanel.setLayout(new BoxLayout(eventsButtonsPanel, BoxLayout.X_AXIS));
+ eventsButtonsPanel.add(Box.createHorizontalGlue());
+ eventsPanel.add(eventsButtonsPanel);
+
+ myFrame.pack();
+ myFrame.setVisible(true);
+ }
+
+ private void init() {
+ myStartButton.addMouseListener(new MouseAdapter() {
+ boolean recording = false;
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ recording = !recording;
+ setRecording(recording);
+ super.mouseClicked(e);
+ }
+ });
+
+ myResetButton.addActionListener(e -> {
+ myScenariosList.clear();
+ myScenarioCompositor.reset();
+ });
+
+ myDeleteScenarioButton.addActionListener(e -> {
+ int selected = myScenariosListComponent.getSelectedIndex();
+ if (selected >= 0) {
+ myScenariosList.remove(selected);
+ myScenariosListComponent.setSelectedIndex(Math.min(selected, myScenariosList.size() - 1));
+ }
+ });
+
+ myScenariosListComponent.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ myScenariosListComponent.addListSelectionListener(ignored -> {
+ myEventsList.clear();
+ int selected = myScenariosListComponent.getSelectedIndex();
+ if (selected >= 0)
+ myEventsList.addAll(myScenariosList.get(selected).eventsJava);
+ });
+
+ myLoadButton.addActionListener(e -> {
+ JFileChooser fileChooser = new JFileChooser();
+ if (fileChooser.showOpenDialog(myFrame) == JFileChooser.APPROVE_OPTION) {
+ String jsonText = null;
+ try {
+ jsonText = Files.readString(fileChooser.getSelectedFile().toPath());
+ } catch (IOException ex) {
+ JOptionPane.showMessageDialog(myFrame,
+ "Failed to write the file:\n" + fileChooser.getSelectedFile(), "Error",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ Type typeToken = new TypeToken<ArrayList<Scenario>>() {}.getType();
+ ArrayList<Scenario> scenarios = new Gson().fromJson(jsonText, typeToken);
+ myScenariosList.clear();
+ myScenariosList.addAll(scenarios);
+ }
+ });
+
+ mySaveButton.addActionListener(e -> {
+ JFileChooser fileChooser = new JFileChooser();
+ fileChooser.setSelectedFile(new File("scenario_mac.json"));
+ if (fileChooser.showSaveDialog(myFrame) == JFileChooser.APPROVE_OPTION) {
+ String jsonString = new GsonBuilder()
+ .setPrettyPrinting()
+ .create()
+ .toJson(myScenariosList.toArray());
+ File outFile = fileChooser.getSelectedFile();
+ try {
+ Files.write(outFile.toPath(), jsonString.getBytes());
+ } catch (IOException ex) {
+ JOptionPane.showMessageDialog(myFrame,
+ "Failed to write the file:\n" + outFile,
+ "Error",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ }
+ });
+ myResetCompositionButton.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ myScenarioCompositor.reset();
+ }
+ });
+ }
+
+
+ private void setRecording(boolean start) {
+ myStartButton.setText(start ? STOP_BUTTON_TEXT : START_BUTTON_TEXT);
+ for (JComponent c : activeComponents) {
+ c.setEnabled(!start);
+ }
+ if (start) {
+ DefaultFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(myScenarioCompositor);
+ } else {
+ DefaultFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(myScenarioCompositor);
+ }
+ }
+
+ class ScenarioCompositor implements KeyEventDispatcher {
+ final Set<Integer> pressedKeys = new HashSet<>();
+ List<Scenario.EventDataJava> keyEvents = new ArrayList<>();
+ String scenarioName = "";
+
+ void reset() {
+ pressedKeys.clear();
+ keyEvents = new ArrayList<>();
+ scenarioName = "";
+ myCompositionEventsList.clear();
+ }
+
+ void commit() {
+ int i = myScenariosListComponent.getSelectedIndex();
+ myScenariosList.insertElementAt(new Scenario(scenarioName, keyEvents), i + 1);
+ myScenariosListComponent.setSelectedIndex(i + 1);
+ myScenariosListComponent.ensureIndexIsVisible(i + 1);
+ reset();
+ }
+
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent e) {
+ System.err.println("dispatchKeyEvent: " + e);
+ if (e.getKeyCode() == 0 && e.getKeyChar() == 0xFFFF) {
+ // fn key
+ return false;
+ }
+ keyEvents.add(new Scenario.EventDataJava(e));
+ myCompositionEventsList.clear();
+ myCompositionEventsList.addAll(keyEvents);
+ if (e.getID() == KeyEvent.KEY_PRESSED) {
+ pressedKeys.add(e.getKeyCode());
+ appendName(KeyEvent.getKeyText(e.getKeyCode()));
+ } else if (e.getID() == KeyEvent.KEY_RELEASED) {
+ pressedKeys.remove(e.getKeyCode());
+ if (pressedKeys.isEmpty() && keyEvents.get(0).keyCode == keyEvents.get(keyEvents.size() - 1).keyCode) {
+ commit();
+ }
+ }
+ e.consume();
+ return true;
+ }
+
+ private void appendName(String keyName) {
+ if (scenarioName.isEmpty()) {
+ scenarioName = keyName;
+ } else {
+ scenarioName = scenarioName + "+" + keyName;
+ }
+ }
+ }
+ }
+}
diff --git a/jb/project/java-gradle/build.gradle b/jb/project/java-gradle/build.gradle
index 7fb727c..2c0f155 100644
--- a/jb/project/java-gradle/build.gradle
+++ b/jb/project/java-gradle/build.gradle
@@ -21,6 +21,8 @@ if (!OperatingSystem.current().isMacOsX()) {
}
sourceSets.test.java.srcDirs = ['../../../java_tests']
+sourceSets.test.resources.srcDirs = ['../../../java_tests/tests/junittests/data']
+sourceSets.test.output.resourcesDir = 'build/classes/java/test/tests/junittests/data'
compileJava.options.compilerArgs += [
'--module-path', "$projectDir/../../../third_party/jogamp/jar",
@@ -52,6 +54,7 @@ test {
'--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED',
'--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED',
'--add-opens=java.desktop/sun.awt=ALL-UNNAMED',
+ '--add-opens=java.desktop/java.awt.event=ALL-UNNAMED',
'--add-exports=java.desktop/sun.awt=ALL-UNNAMED',
'-Djcef.tests.osr=true'
]
@@ -64,5 +67,6 @@ dependencies {
"$projectDir/../../../third_party/jogamp/jar/gluegen-rt.jar")
testImplementation files(
"$projectDir/../../../third_party/junit/junit-platform-console-standalone-1.10.0.jar",
+ "$projectDir/../../../third_party/gson/gson-2.10.1.jar",
"$projectDir/../../../third_party/jakarta/jakarta.xml.bind-api-2.3.2.jar")
}
diff --git a/jb/project/java-gradle/gradle.properties b/jb/project/java-gradle/gradle.properties
index ea7b704..57807f2 100644
--- a/jb/project/java-gradle/gradle.properties
+++ b/jb/project/java-gradle/gradle.properties
@@ -1,4 +1,4 @@
# change appropriately
# jbr_win = C:/jbrt/jbr
-# jbr_mac = /Users/tav/jbrt-dev/jbr/Contents/Home
+jbr_mac = /Users/Vladimir.Kharitonov/develop/java/jbrsdk_jcef-17.0.8-osx-aarch64-b1038/Contents/Home
# jbr_linux = /home/tav/jbrt/jbr
diff --git a/third_party/gson/gson-2.10.1.jar b/third_party/gson/gson-2.10.1.jar
new file mode 100644
index 0000000..a88c5bd
--- /dev/null
+++ b/third_party/gson/gson-2.10.1.jar
Binary files differ