[fedora-arm] Kaymap not surviving reboot
Gordan Bobic
gordan at bobich.net
Mon Aug 8 14:39:40 UTC 2011
On Mon, 8 Aug 2011 09:34:51 -0500, Dennis Gilmore <dennis at ausil.us>
wrote:
> On Monday, August 08, 2011 09:01:22 AM Gordan Bobic wrote:
>> On Mon, 8 Aug 2011 08:54:30 -0500, Dennis Gilmore <dennis at ausil.us>
>>
>> wrote:
>> >> >> I'm using KDE (at the moment, going to try to get XFCE
>> working
>> >> >>
>> >> >> soon),
>> >> >>
>> >> >> and whatever system-config-keyboard does fixes it, but also
>> >> >>
>> >> >> whatever
>> >> >> it
>> >> >>
>> >> >> does isn't surviving a reboot. :-/
>> >> >
>> >> > sometimes strace and grep open is a quicker way to find things
>> >>
>> >> like
>> >>
>> >> > this
>> >> > than using the source
>> >>
>> >> Indeed they do, I figured it out.
>> >>
>> >> The problem is that system-config-keyboard edits xorg.conf, and
>> >>
>> >> does so
>> >>
>> >> extremely poorly and brokenly. It actually breaks a valid
>> >>
>> >> xorg.conf, in
>> >>
>> >> fact, by creating a ServerLayout section without an Identifier
>> >>
>> >> entry.
>> >>
>> >> But the real problem is that it creates a broken keyboard entry
>> >>
>> >> that
>> >>
>> >> doesn't do anything. Because it loads the keymap at run time,
>> the
>> >> settings go live in the current session, but after re-starting
>> >>
>> >> xorg,
>> >>
>> >> they don't get re-applied because the InputDevice section that
>> >> system-config-keyboard created is broken. Xorg.0.log eventually
>> got
>> >>
>> >> me
>> >>
>> >> looking in the right direction. the main thing that the
>> InputDevice
>> >> section was missing was the
>> >>
>> >> Option "Device" "/dev/input/event0"
>> >>
>> >> line. Without it the keyboard entry failed, and on Tegra at
>> least,
>> >>
>> >> NVEC
>> >>
>> >> keyboard would get detected on that device node and started,
>> which
>> >>
>> >> would
>> >>
>> >> default to the US layout every time.
>> >>
>> >> The solution was to fix the InputDevice entry manually, and use
>> the
>> >> evdev driver. After that NVEC (found via udev it seems) driver
>> gets
>> >> loaded, but it sees that the device is already claimed, so it
>> goes
>> >>
>> >> away.
>> >>
>> >> The net result is the keyboard working with the correct map.
>> >>
>> >> I'm not entirely sure what against to file this bug report, or
>> even
>> >> where. I'm guessing against system-config-keyboard, but we're
>> not
>> >>
>> >> up to
>> >>
>> >> the point where we can build/test rawhide on Fedora on ARM, are
>> we?
>> >>
>> >> My
>> >>
>> >> experience is that in genereal, the life cycle of fedora is too
>> >>
>> >> short
>> >>
>> >> for the fixes to ever arrive for anything except Rawhide...
>> >
>> > I suspect that this is entirely an issue that effects only tegra
>> > based devices.
>> > I have a spanish keyboard in my smartbook and ithas all just
>> worked
>> > as
>> > expected.
>>
>> Did you have a xorg.conf or were you running without it?
>>
>> I don't see how some parts of this could be Tegra specific,
>> specifically the fact that it creates a ServerLayout section if
>> there
>> isn't one there and doesn't create an Identifier entry in it. That
>> along
>> will make Xorg fail to start. Can you check whetiher it does that
>> on
>> your system?
>>
>
> # Xorg configuration created by system-config-display
>
> Section "ServerLayout"
> Identifier "single head configuration"
> Screen 0 "Screen0" 0 0
> InputDevice "Keyboard0" "CoreKeyboard"
> EndSection
>
> Section "InputDevice"
> # keyboard added by system-config-display
> Identifier "Keyboard0"
> Driver "kbd"
> Option "XkbModel" "pc105"
> Option "XkbLayout" "es"
> EndSection
>
> Section "Device"
> Identifier "Videocard0"
> #Driver "fbdev"
> Driver "imx"
> EndSection
>
> Section "Screen"
> Identifier "Screen0"
> Device "Videocard0"
> DefaultDepth 24
> SubSection "Display"
> Viewport 0 0
> Depth 24
> EndSubSection
> EndSection
>
>
> thats my xorg.conf file. its been awhile since i set it all up so i
> dont
> remeber if it was there before i switched the keyboard from english
> to spanish
Right, that's why it works for you. Back up your xorg.conf while X is
running, and remove the ServerLayout section. Then try
system-config-keyboard and see what it does. If I'm right, it'll create
a ServerLayout section without the Identifier entry.
Gordan
More information about the arm
mailing list