Mercurial > 510Connectbot
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();