comparison src/com/five_ten_sg/connectbot/service/TerminalKeyListener.java @ 52:0e3fc85d0586 tn5250

start tn5250 integration
author Carl Byington <carl@five-ten-sg.com>
date Wed, 11 Jun 2014 12:18:18 -0700
parents 8c6de858bb73
children e872762ec105
comparison
equal deleted inserted replaced
51:8c6de858bb73 52:0e3fc85d0586
119 119
120 public void sendEscape() { 120 public void sendEscape() {
121 buffer.write(0x1b); 121 buffer.write(0x1b);
122 } 122 }
123 123
124 protected void sendEncoded(String s) {
125 buffer.write(s.getBytes(encoding));
126 }
127
124 /** 128 /**
125 * Handle onKey() events coming down from a {@link com.five_ten_sg.connectbot.TerminalView} above us. 129 * Handle onKey() events coming down from a {@link com.five_ten_sg.connectbot.TerminalView} above us.
126 * Modify the keys to make more sense to a host then pass it to the vt320. 130 * Modify the keys to make more sense to a host then pass it to the vt320.
127 */ 131 */
128 public boolean onKey(View v, int keyCode, KeyEvent event) { 132 public boolean onKey(View v, int keyCode, KeyEvent event) {
196 200
197 bridge.resetScrollPosition(); 201 bridge.resetScrollPosition();
198 202
199 if (keyCode == KeyEvent.KEYCODE_UNKNOWN && 203 if (keyCode == KeyEvent.KEYCODE_UNKNOWN &&
200 event.getAction() == KeyEvent.ACTION_MULTIPLE) { 204 event.getAction() == KeyEvent.ACTION_MULTIPLE) {
201 byte[] input = event.getCharacters().getBytes(encoding); 205 sendEncoded(event.getCharacters());
202 buffer.write(input);
203 return true; 206 return true;
204 } 207 }
205 208
206 int curMetaState = event.getMetaState(); 209 int curMetaState = event.getMetaState();
207 final int orgMetaState = curMetaState; 210 final int orgMetaState = curMetaState;
287 return true; 290 return true;
288 291
289 if (uchar < 0x80) 292 if (uchar < 0x80)
290 buffer.write(uchar); 293 buffer.write(uchar);
291 else 294 else
292 // TODO write encoding routine that doesn't allocate each time 295 sendEncoded(new String(Character.toChars(uchar)));
293 buffer.write(new String(Character.toChars(uchar))
294 .getBytes(encoding));
295 296
296 return true; 297 return true;
297 } 298 }
298 299
299 // send ctrl and meta-keys as appropriate 300 // send ctrl and meta-keys as appropriate
792 metaState |= code; 793 metaState |= code;
793 bridge.redraw(); 794 bridge.redraw();
794 } 795 }
795 } 796 }
796 797
797 private void metaKeyUp(int code) { 798 protected void metaKeyUp(int code) {
798 if ((metaState & code) != 0) { 799 if ((metaState & code) != 0) {
799 metaState &= ~code; 800 metaState &= ~code;
800 bridge.redraw(); 801 bridge.redraw();
801 } 802 }
802 } 803 }