diff app/src/main/java/com/five_ten_sg/connectbot/transport/TN5250.java @ 496:f698820bffdf

add socket2 monitor protocol
author Carl Byington <carl@five-ten-sg.com>
date Sun, 05 Jun 2022 14:46:41 -0700
parents d29cce60f393
children
line wrap: on
line diff
--- a/app/src/main/java/com/five_ten_sg/connectbot/transport/TN5250.java	Sun Jun 05 12:00:10 2022 -0700
+++ b/app/src/main/java/com/five_ten_sg/connectbot/transport/TN5250.java	Sun Jun 05 14:46:41 2022 -0700
@@ -158,14 +158,15 @@
             screen52.setField(l, c, data);
         }
 
-        // monitor simulating key depress
+        // monitor simulating function key depress
         @Override
-        public void keyDepressed(int keyCode, char keyChar, int modifiers) {
-            if (mnemonics.containsKey(keyCode)) {
-                String s = mnemonics.get(keyCode);
+        public void keyDepressed(int keyCode) {
+            keyPressed(keyCode, ' ', 0);
+        }
 
-                if (s != "") screen52.sendKeys(s);
-            }
+        // monitor simulating ascii key depress
+        public void keyUnicodeDepressed(int keyCode) {
+            write((byte)(keyCode & 0x00ff));
         }
 
         // terminal key listener found special key, send notification to monitor
@@ -188,9 +189,17 @@
 
             if (bridge.monitor != null) bridge.monitor.testMoved();
         }
+        /**
+         * main keytyping event handler for all the special function and modifier keys
+         * the normal keys are processed by write(byte b);
+         */
         @Override
         public void keyPressed(int keyCode, char keyChar, int modifiers) {
-            keyDepressed(keyCode, keyChar, modifiers);
+            if (mnemonics.containsKey(keyCode)) {
+                String s = mnemonics.get(keyCode);
+
+                if (s != "") screen52.sendKeys(s);
+            }
 
             if (bridge.monitor != null) bridge.monitor.testMoved();
         }