298de4c

Pinchord · pinchord.git · Tickets · Changelog

Branches > v28.2 > 298de4c > files / plover-description.md

Working javelin script :p

Grahp, 2026-02-24

Commit: 298de4ce62fa38fea6a1bb0729c3b017f1dd905e
Parent: 5376fb2

1 changed file:

javelin-script.javelin-script modified (view file)

@@ -1,69 +1,99 @@-const true = 1;-const false = 0;-// Toggles this script and the normal Javelin lookup-const SCRIPT_ENABLED = true;+// Pinchord's javelin script+// Uhh put a copyright notice here probably. -// The full mask of keys pressed in the last stroke-// Reset after the stroke ends+// Bitset of keys pressed in the last stroke+// Reset after the stroke has been sent var pressed_keys;-// The current mask of keys pressed down+// Bitset of the current keys pressed down var current_keys; -// TODO The script I saw had some things masked out, I'm not really sure why?--// Gemini codes to key indices const key_masks = [[-  01 01 02 03 04 05 06 07 // S1 - RL-  08 09 0a 0a 0a 0a 0b 0c // A - U-  0d 0e 0f 10 11 12 13 14 // FR - SR-  15 16 00 00 00 00 00 00 // DR - NUM6-  00 00 00 00 00 00 00 ff // NUM7 - X1-  ff ff ff ff ff ff ff ff // X2 - X9-  ff ff ff ff ff ff ff ff // X10 - X17-  ff ff ff ff ff ff ff ff // X18 - X25-  ff                      // X26+  00 00 00 00 00 00 00 00+  00 00 00 00 00 00 00 00+  00 00 00 00 00 00 00 00+  00 00 00 00 00 00 00 00+  00 00 00 00 00 00 00++  // X1 through X26+  01 02 03 04 05 06    07 08 09 0a 0b 0c+  0d 0e 0f 10 11          12 13 14 15 16+              17 18    19 1a ]]; +const starter_bits = [[03 0f 04 10 05 11 06 ff]];+const starters = [<+  "", "t", "s", "st", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", "122", "123", "124", "125", "126", "127"+>];++const vowel_bits = [[17 18 19 1a 07 ff]];+const vowels = [<+  "", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"+>];++const final_bits = [[08 12 09 13 0a 14 0b 15 ff]];+const finals = [<+  "", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", "122", "123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", "136", "137", "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", "150", "151", "152", "153", "154", "155", "156", "157", "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", "186", "187", "188", "189", "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", "202", "203", "204", "205", "206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", "218", "219", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", "250", "251", "252", "253", "254", "255"+>];++func mask(key) var {+  return 1 << key_masks[key];+}++// const keys = [<+//   "-s", "#-", "T-", "P-", "W-", "&-",   "^", "-L", "-P", "-F", "-T", "-e",+//   "-s", "+-", "S-", "W-", "R-",              "-R", "-K", "-S", "-*", "-e",+//                           "A",  "O",    "I", "U"+// >];++  // Key is an index, I guess from gemini?-func on_key_press_(key) {-  var mask = 1 << key_masks[key];-  pressed_keys |= mask;-  current_keys |= mask;+func press(key) {+  pressed_keys |= mask(key);+  current_keys |= mask(key); } -func on_key_press(key) {-  if (SCRIPT_ENABLED) {-    on_key_press_(key);-  } else {-    // Fall back to the default behavior-    pressStenoKey(key);-  }-}--func on_key_release_(key) {-  var mask = 1 << key_masks[key];-  current_keys &= ~mask;+func release(key) {+  current_keys &= ~mask(key);   // No keys are pressed down   if (current_keys == 0) {-    printValue("key_mask", pressed_keys);+    printValue("GRAHP pressed_keys", pressed_keys); -    var text = "???";+    var starter_letters = get_from_bank(starter_bits, pressed_keys, starters);

Show all 146 lines