Author Topic: How Do I Export Characters From Python To Opie?  (Read 3112 times)


  • Newbie
  • *
  • Posts: 32
    • View Profile
How Do I Export Characters From Python To Opie?
« on: June 04, 2007, 07:34:11 pm »
A few months ago, I purchased a Think Outside Universal IR Keyboard to replace my Targus IR keyboard.  It was so compact, I couldn't help but want to keep it, even though I couldn't get it to work!  I couldn't get kbdd or zkbdd working, so that meant I had to write my own driver.

And I did! sort-of.  I wrote it in Python, and it nicely reads all the scancodes.  It requires python-pyserial to work (which, in turn, requires python-fcntl).  Unfortunately, all it can do is print output to the screen, because I don't know how to "push" data to the operating system.

Is there a python module that will allow me to do this?

In kbdd and zkbdd, the method used is "uinput", but I suspect that one of the reasons it doesn't work on Collie is because it's my understanding that "uinput" doesn't work well under the 2.4 kernel.

My preference, however, would be to emit a Qt signal, as done in opie-jumpx and irk (the one that allows me to use Targus from OPIE's input devices); to do this, however, I would have to load a python script as an input method.

My greatest concern is that, to use either method, I would have to use C or C++.  Besides liking Python (it's especially easy to work with!), I don't have the time to figure out why I can't get BitBake to work.  (I've already spent a couple of weeks trying to figure that out!    )

I have attached my source code (you will need to remove the ".txt" extensions after downloading it); it will need to be drastically rewritten once I can use it as an input method.  It's designed to be flexible, too, so that I could easily convert it to Dvorak when it's convenient to do so.  

Additionally, this information can be used for those who want to extend kbdd or zkbdd to this keyboard, assuming, of course, that these programs work for you  
Zaurus SL5500 running OpenZaurus 3.5.4 with no network access.  :(   May dual-boot to other things someday...