[Community] [Gta04-owner] OpenPhoenux Letux/GTA04 Kernel- and Userspace-Hacking weekend

Neil Jerram neil at ossau.homelinux.net
Mon Apr 25 17:00:15 CEST 2016


On 25/04/16 06:55, rhn wrote:
> Hi,
>
> On Mon, 25 Apr 2016 13:19:58 +0200
> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
>
>> Hi Xavi,
>>
>>> Am 25.04.2016 um 13:09 schrieb Xavi Drudis Ferran <xdrudis at tinet.cat>:
>>>
>>> El Mon, Apr 25, 2016 at 11:54:19AM +0200, H. Nikolaus Schaller deia:
>>>> But I have no idea if the on-screen keyboard can be rewritten in a way that it works with all other GUI applications (not necessarily Qt based!). You would get a problem if you have network-manager and can't type IP addresses... So this might be a big challenge (who doesn't love challenges?).
>>>>    
>>> I don't really know. But I took a look at the qtmoko keyboard a year
>>> or two ago (I hardly remember any detail) and got the impression that
>>> not as it is. But then I don't know anything that could do that. In X
>>> it is easier, I think. But without X what is the abstraction for a
>>> keyboard this application should plug into ?

Why "without X"?  At least until we can run Wayland on the GTA04, I 
think that X should be our common denominator.

>>>    
>> Good question.
>>
>>> Should there have to be a
>>> keyboard driver in the kernel or something? Should it pass as a tty ?
>> That would be an interesting approach. Or we use a pty (or mkfifo) and
>> symlinks to present a virtual /dev/event node where the keyboard process
>> can write to...
>>
>> But I am not sure if X11 will find it because it likely scans /sys for input
>> devices and not /dev.
> I played with the input subsystem several times in the past and I can confirm that it's possible to create such a virtual device and get it picked up by X.
>
> This is what xboxdrv [0] does, for example, and it can be done using uinput [1] in an easy way. Python bindings [2] are good for experimentation.

It is also possible to plug into one of the input method frameworks 
(xim, scim, maliit etc.) or to use XTest to inject key events into the 
target application.

Regards,
     Neil




More information about the Community mailing list