View Single Post
helex's Avatar
Posts: 543 | Thanked: 802 times | Joined on Apr 2010 @ Germany
#5
Originally Posted by demolition View Post
There will be a lot of people eager to test this, I'm sure. Clever idea, so long as network latency is low enough for the hci to be acceptable. Can the N900 form an ad-hoc connection with the kb? Nice one!
Thanks a lot!

After the first problems with network latency (some characters were received in the wrong order) I added a first in-first out stack for the sender and for the receiver module. I will try to add to the communication a response channel if a keycode is sucessfully received or not. But I wan't to use only a single port. Don't know if this could work. I wan't to keep the settings as simple as possible.
If there occurs problems with some fast typers I could bundle some keycodes together in a single packet to minimize the overhead. Currently every keycode is sent seperate. If you type to fast your text appears a little bit delayed. But perhaps this is because of the way I send the keycodes to different applications at the N900.

Originally Posted by demolition View Post
A question though: keyboards, other than the native one, can have unexpected results with some keys. How do you handle each key-press and can it be altered to give the desired result?
This creates currently by biggest headache. At MeeGo exists the virtual Keyboard plugin maliit - I will use it for the MeeGo releases end expect less problems.
But at maemo I haven't found something similar to this. I'm currently using the command line tool xdotool to send the keycodes and created manually a table to translate at the N900 the received keycodes in keystrikes.
Have a look at this thread: Best way to send keycodes - emulate keyboard press

It's a pain and feels unprofessional. Any kind of suggestions are welcome!
__________________
I was a Qt Ambassador!

Please DONATE if you like my work!
It's the best way to motivate me to create more stuff for your Device.
 

The Following User Says Thank You to helex For This Useful Post: