[Vm-dev] Got soft keyboard working to some degree on Android
Dimitry Golubovsky
golubovsky at gmail.com
Fri Feb 25 04:46:55 UTC 2011
Hi,
I got the soft keyboard working with Squeak on a Pandigital Novel 9"
tablet (Android 2.0).
I had to add call to view.setFocusableInTouchMode(true) in the end of
the onCreate method of SqueakActivity. Without that, the activity view
could not get keyboard focus, even when touched. I haven't tested
whether the focus is restored properly when activity changes its
state, but such change may require more support anyway.
See here *:
http://code.google.com/p/squeakvm-tablet/source/browse/project/src/org/squeak/android/SqueakActivity.java
I also changed the SqueakView class so that the physical "Menu" button
toggles the soft keyboard. I wish it did not take so much screen space
;)
http://code.google.com/p/squeakvm-tablet/source/browse/project/src/org/squeak/android/SqueakView.java
One thing I cannot figure out: how to send an event for BackSpace key.
The following works for alphanumerics (event is the second argument of
View.onKeyDown method):
int uchar = event.getUnicodeChar();
vm.sendEvent( 2 /* EventTypeKeyboard */,
0 /* timeStamp */,
uchar /* charCode */,
0 /* EventKeyChar */,
0 /* modifiers */,
uchar /* utf32Code */,
0 /* reserved1 */,
0 /* windowIndex */);
vm.interpret();
Characters typed on the soft keyboard appear e. g. in a workspace
where a cursor is blinking, window frame becomes red, etc. which means
input works. But pressing DEL does not have any effect. Enter works
(cursor moves to newline) What values should I put into the
sqInputEvent structure for DEL?
Thanks for any ideas.
------------------------------
* I forked the squeak-android-vm project into
http://code.google.com/p/squeakvm-tablet This project space has not
been set up properly yet in terms of documentation; I just wanted to
share my findings with other possibly interested developers.
--
Dimitry Golubovsky
Anywhere on the Web
More information about the Vm-dev
mailing list