Re: XKB Patch

Peter Åstrand <[email protected]>
Newsgroups gmane.network.rdesktop.devel
Message-ID <[email protected]>
On Fri, 15 May 2009, Marc-André Moreau wrote:

> 1) Re-using the numbers you have said, we currently have about 40 
> keymaps on a total of 120 possible keymaps that would constitute a 
> complete set of keymaps. 40 is still one third of 120, so we're not even 
> halfway done in order to bring full support for every keyboard layout.

True if you are just looking at the number or languages, but if you 
instead look at which countries and users that are actually using 
rdesktop, I would say that, in practice, we are covering almost all users 
and territories. We don't hear complains about missing keymaps from 2/3 of 
our users, right?


> I understand that if we go on a case by case basis, adding keymaps for 
> whatever keyboard layout someone needs, it does not require much effort. 
> The problem is that not everybody using an unsupported keyboard layout 
> would bother submitting a bug report, or getting to know rdesktop better 
> in order to write a new keymap and then submit it. Less common keyboard 
> layouts are most likely to remain unsupported. Also, even if the 
> majority of the keymaps currently work well, it may happen that someone 
> finds a bug in it and again it is no big deal to fix it. However, this 
> work of adding keymaps and maintaining them on an on-demand basis as 
> people find that their keyboard layout is unsupported or broken could be 
> solved using a "one for all" solution. That's why I thought of XKB, 
> because they already take care of doing that job.

I agree, in principle it's better if we can avoid having "our own" 
keymaps. I'm just concerned that this will in practice be very 
complicated. But I would be happy if you could prove that I'm wrong.


> You have mentioned that XKB has a lot of bugs. I have taken a look at the bug reports for xkb:
> https://bugs.freedesktop.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=xke
> yboard-config&content=
> 
> And most of the bugs submitted are minor or cover aspects of the data base that we wouldn't even be using (such as
> the symbolic key name to keysym translation). Also, if we bother doing the maintenance work for our own set of
> keymaps, it would take just as much efforts to submit a bug report to XKB instead, and fix it on our side. We would
> benefit from that, and XKB would benefit from us (if we find bugs in their database).

Yes, squashing bugs in the upstream XKB database is better than fixing our 
own keymaps, I agree, if we are just talking about the XKB data base.

However, if we are talking about using the runtime XKEYBOARD extension as 
well, like Ilya Konstantinov suggests, we might suffer from many other 
bugs.

Believe it or not, but the X.Org keyboard handling and input system is not 
at all stable, it's in more flux than ever. Eventually it might be very 
nice with MPX and everything, but the fact is that today, there are 
numerous problems both with XKB as well as the classical events.


> Before going further, I need to explain more in depth the major differences between my method and the current one:

Wow, that was a lot of text...


> So, to summarize:
... 
> Even if I'm using XKB as a basis to export new keymaps using my perl script, we really aren't doing anything related
> to XKBlib or using any functions from it. The keycode -> virtual keycode -> scan code mapping is all done using my
> code. We're not doing anything complex here. The only bugs that could affect us related to XKB would be a bug in the
> keycode -> symbolic key code maps. My mapping of symbolic key codes to virtual key codes in my perl script is as
> complete as I could make it. If a bug is found in my perl script, it is trivial to fix and re-export the database.

A quick summarize from my point of view: I'm positive to try to use the 
information in the XKB database. The idea of generating keymaps from it 
using a perl script or similar is nice. This way, however, we should in 
principle be able to keep the current keyboard implementation as-is. We 
could add minor enhancements say trying to detect the keyboard layout 
using XKB if available and things like that, but this would be small, 
independent enhancements that will work with the existing keymap format 
and existing keymaps.

Is there any reason why this approach cannot be used?

Patches must be small and reasonable atomic if I should be able to accept 
them with good confidence. I've downloaded your modified version and 
unpacked it over an existing rdesktop working copy, and the result is a 
"diff" which is 2693 lines long, and I haven't even included the "xkb" 
subdirectory. This is a lot. Small is beautiful.


Regards, 
---
Peter Åstrand		ThinLinc Chief Developer
Cendio AB		http://www.cendio.com
Wallenbergs gata 4
583 30 Linköping	Phone: +46-13-21 46 00

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects

_______________________________________________
rdesktop-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdesktop-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.