diff src/com/five_ten_sg/connectbot/transport/TN5250.java @ 184:cdaaa53b5eca

setfield positions the cursor properly as if the characters were typed
author Carl Byington <carl@five-ten-sg.com>
date Wed, 02 Jul 2014 14:32:13 -0700
parents 2a7199ad90be
children c51bcf9f0516
line wrap: on
line diff
--- a/src/com/five_ten_sg/connectbot/transport/TN5250.java	Wed Jul 02 14:07:03 2014 -0700
+++ b/src/com/five_ten_sg/connectbot/transport/TN5250.java	Wed Jul 02 14:32:13 2014 -0700
@@ -181,6 +181,32 @@
         }
         @Override
         public void write(int b) {
+            if (b == 120) {
+                // special case x for testing
+                setField(17, 44, new char[] { '1', '2' });
+                keyPressed(KEY_TAB, ' ', 0);
+                keyPressed(KEY_TAB, ' ', 0);
+                setField(-1, -1, new char[] { '3', '4' });
+                setField(18, 44, new char[0]);
+                setField(-1, -1, new char[] { '5', '6' });
+                return;
+            }
+            if (b == 121) {
+                // special case y for testing
+                setField(17, 44, new char[0]);
+                setField(-1, -1, new char[] { '2', '1' });
+                keyPressed(KEY_TAB, ' ', 0);
+                keyPressed(KEY_TAB, ' ', 0);
+                setField(-1, -1, new char[] { '4', '3' });
+                setField(18, 44, new char[0]);
+                setField(-1, -1, new char[] { '6', '5' });
+                return;
+            }
+            if (b == 122) {
+                // special case z for testing
+                setField(17, 40, new char[0]);
+                return;
+            }
             if (controls.containsKey(b)) keyPressed(controls.get(b), ' ', 0);
             else                         screen52.sendKeys(new String(new byte[] {(byte)b}));
             testChanged();