On Mon, 8 Aug 2011 09:34:51 -0500, Dennis Gilmore <dennis(a)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(a)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