[rant] keeping policy in HAL

Alexander E. Patrakov patrakov at gmail.com
Sun Nov 30 22:38:21 PST 2008

Peter Hutterer wrote:
> I was referring to DE as a concept, not as a specific implementation. It
> counts as part of whatever you're running afterwards, may be gnome, kde,
> xfce or my-happy-bunch-of-shellscripts.

OK. Anyway, my point about XDM as the example implementation not 
following the modern guidelines was moot, because, as Daniel Stone said, 
XDM is no longer in the standard Xorg distribution.

>> Also, currently, for unconfigured Xorg, such newly-added keyboard gets  
>> the "us" layout. This is also a hard-coded policy, should we remove it?  
>> In fact, I would consider any default other than "completely unusable  
>> keyboard that doesn't produce any events" a policy. Reason: I want US  
>> developers eat their own dogfood.
> Well, if you don't map your keycodes to something, you won't be able to type
> anything.

Yes, that's the point. This will force the maintainers of Linux 
distributions with US origin (to Daniel Stone: they are obviously not 
the same people as the input maintainers in Xorg) to do "the right 
thing" for everyone, instead of just not noticing the problem because 
non-US users think that the keyboard is obviously broken beyond repair 
(and thus not reporting the obvious bug).

> "us" is traditionally the default and I'll let others have a
> flamewar about that.

It is traditionally the default only in Xorg. If you get a Russian 
version of Windows 2000 or XP, Russian will be the default, with the 
possibility to switch to English with Alt+Shift. Also, even in the US 
version, the keyboard layout is asked for during the installation, and 
this becomes the default for all new keyboards.

I.e.: Windows has a useful notion of the global default keyboard layout, 
and stores it in the registry. Xorg gets this from xorg.conf (that is 
going to disappear from modern setups), HAL (not a good place for 
policy), runtime configuration (excellent idea, but with no existing 
clients usable from, say, Slim), falling back to "us" (and often distro 
maintainers don't notice this).

>>> setxkbmap won't be able to set the layouts for future devices.
>> Then something is bad. Suppose that, due to EMI, the kernel decided to  
>> disconnect and reconnect the USB keyboard after setxkbmap has set the  
>> layout for it. Who will reset the layout for it? XDM currently can't run  
>> programs in response to such events. Should I report this as a bug?
> Then you need a client in the background notifying you that a new device was
> added, either prompting you to update the keymap, or runs it directly.

Then it may be a good idea to write such client (even without the 
pop-up, a static default stored in the configuration file will also 
work) and add it to xorg-apps as an example implementation of such service.

Alexander E. Patrakov

More information about the xorg mailing list