Re: X Server Keyboard not working

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I can't be certain but my guess is that this is the the X input focus issue.
Apparently, Nokia changed the window manager in maemo5 so that it doesn't set
input focus on windows as they are exposed. So that apps need to call
XSetInputFocus() if they want input focus. Apparently most window managers
don't exhibit this behavior and many apps were written assuming that they did
not need to call XSetInputFocus(). There is some debate as to what the spec
requires. But in any case many apps, such as emacs, and apparently also kmail,
don't work with the maemo5 window manager, even when run remotely.

There have been many threads on this, among them see:

http://talk.maemo.org/showthread.php?t=31696&page=2
http://maemo.org/community/maemo-developers/re-mapping_the_n900_keyboard-001/
http://www.gossamer-threads.com/lists/maemo/developers/55127
http://www.mail-archive.com/maemo-developers@xxxxxxxxx/msg22253.html
http://www.opensubscriber.com/message/enlightenment-devel@xxxxxxxxxxxxxxxxxxxxx/13111286.html
http://maemo.org/community/maemo-users/x_keyboard_input_focus_on_n900/
http://talk.maemo.org/showthread.php?t=36952&highlight=input+focus

My feeling is that while this may have been technically allowed by the spec (I
don't know, I haven't read the spec) it definitely is the case that many very
long-standing programs are broken by this so it was not a good idea. It is
important to adhere to informal accepted practises as well as formal standards.

Nokia did this for reasonable engineering reasons. It saves power on mobile
devices. And apparently they felt that the majority of users would use apps
specifically designed and compiled for the device. But there is a large
community of users who use this device as a Linux computer, running standard
Linux/Unix apps either ported to run natively in maemo, run in a chroot, or run
remotely over X. And it is not reasonable to modify and recompile the huge
base of Linux/Unix code to be compatible with the N900.

I hope Nokia patches this, at least to make it a user-configurable option. In
the short term, I almost have working a workaround, a shell script that runs
in the background, detecting when windows get exposed and calling
XSetInputFocus() on them. It works but is currently power hungry and specific
to emacs. I'm working on making it more power efficient and more general. I'll
post it when I'm done.

    Jeff (http://www.ece.purdue.edu/~qobi)
_______________________________________________
maemo-users mailing list
maemo-users@xxxxxxxxx
https://lists.maemo.org/mailman/listinfo/maemo-users

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Big List of Linux Books]    

  Powered by Linux