[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ubuntu-users
Subject:    =?UTF-8?Q?Re:_Ubuntu_8.10_=E2=80=93_evdev?=
From:       gurus.knugum () gmail ! com (Johnny Rosenberg)
Date:       2008-12-22 14:44:50
Message-ID: 8ad06bca0812220644m56afc73pc7a3244b4c0ec41a () mail ! gmail ! com
[Download RAW message or body]

Thank you for your reply. Yes, you are probably right. I use a wireless
keyboard and mouse and now, when I read your reply, I unplugged it and
plugged it right back, and this made it go back to the standard Swedish
layout, exactly as you said.

That indicates that maybe there isn't a serious fault happening, just my
keyboard losing its connection.

The question is now: What's causing this? Ubuntu, my keyboard or other
hardware? Hard to tell right now, though.

However, it I can make my own layout to be the standard layout in ANY
situation, my problem is probably solved. I'll cehck out the /etc/hal and
other possible clues and I'll see where to go from there.

Thanks!

Johnny Rosenberg

2008/12/22 Marius Gedminas <marius at pov.lt>

> On Sun, Dec 21, 2008 at 12:12:49PM +0100, Johnny Rosenberg wrote:
> > I need to understand how the evdev thing works.
>
> Previously, X would use the 'kbd' driver by reading from the /dev/ttyN
> representing the virtual console and converting scan codes to keysyms
> with XKB.
>
> Now X uses the 'evdev' driver to read a different set of keycodes from
> /dev/input/eventX devices and converts those to keysyms with XKB using a
> slightly different rules file.
>
> One important difference was that while kbd dealt with a single scan
> code stream, evdev can see every keyboard (and mouse) as a separate
> input device, and thus can set different properties (such as the
> keyboard layout) on them.
>
> X relies on HAL for device hotplugging.  Whenever the kernel detects a
> new device, it sends a notification to userspace, where HAL gets it,
> sees that this is a keyboard device, and hands it off to X.org.
>
> I learned all this by reading mailing list and blog posts by X.org
> developers.  Any inaccuracies are a fault of my memory.
>
> > I can now select my layout and it works perfectly. All the characters are
> > available where I expect them. The problem is that every now and then,
> > sometimes after several hours and sometimes after a few seconds, the
> system
> > switch back to the standard Swedish layout. I can see when this happens,
> > because right before it happens (often when I type something), the system
> > doesn't seem to react to one of the key strokes. I then hit the same key
> > again and it seems to work, but when I try to use my own characters, they
> > are not there anymore.
>
> It seems that for some reason your keyboard falls out of the world for a
> microsecond or so, causing the system to think you've unplugged it and
> plugged it back.
>
> Currently there's no mechanism for remembering keyboard settings when it
> gets unplugged and plugged back in, so the default settings are applied.
> The default settings are assigned by HAL instead of the old xorg.conf,
> for various reasons.  There's probably a .fdi file somewhere in /etc/hal
> on your system saying the default keyboard layout is Swedish.


Well, my own layout is also Swedish (with a lot of enhancements if you ask
me?), but I understand what you mean.

>
>
> ... Unless there isn't one, in which case I'm totally wrong in my guess.
>
> > Then I open the layout dialogue (in *gnome-keyboard-properties ?
> layouts*)
>
Ooops, seems like something between our email servers doesn't support UTF-8?
I didn't type any *-characters, I typed quotes. Real ones, not the inch
characters? Well, doesn't matter. Sooner or later I guess UTF-8 will be
supported everywhere.


>
> > and add a new layout, doesn't matter which, then I select my own (Sweden
> > Johnny Rosenberg) in the list. Then I remove the layout I just added,
> > whichever that was. Now it works again, until the same thing happens
> again
> > after a while. Can be a couple of hours or maybe only a couple of
> seconds.
> >
> > I have looked in /var/logs/ but I am not sure what to look for, and I
> found
> > nothing so far.
>
> /var/log/Xorg.0.log is the place to look.  When a keyboard gets
> detected, you see something like
>
>    (II) config/hal: Adding input device AT Translated Set 2 keyboard
>    (**) AT Translated Set 2 keyboard: always reports core events
>    (**) AT Translated Set 2 keyboard: Device: "/dev/input/event1"
>    (II) AT Translated Set 2 keyboard: Found keys
>    (II) AT Translated Set 2 keyboard: Configuring as keyboard
>    (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard"
> (type: KEYBOARD)
>    (**) Option "xkb_rules" "evdev"
>    (**) AT Translated Set 2 keyboard: xkb_rules: "evdev"
>    (**) Option "xkb_model" "pc105"
>    (**) AT Translated Set 2 keyboard: xkb_model: "pc105"
>    (**) Option "xkb_layout" "us"
>    (**) AT Translated Set 2 keyboard: xkb_layout: "us"
>
> If you see the same thing again every time the keyboard layout resets to
> default, that would mean I was right in my guess.
>
> > *Solution?*
> >
> > What I need now, I think, is to understand how evdev works. It seems like
> > some error happens and that the system switch back to something "safe",
> just
> > in case. I don't know if my layout is the problem or if the problem is
> > located somewhere else. Sometimes when strange things happens the problem
> is
> > Compiz-Fusion. Maybe in my case too, I don't know. I use it when I switch
> > desktop and applications, but hardly ever for anything else.
> >
> > I just need to understand better how evdev works, which files the system
> use
> > and things like that. How to proceed with debugging etc.
> >
> > I was also thinking of an ugly solution: When I type *xprop -root | grep
> -i
> > xkb*, I get the following information:
> >
> > *_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "se", "", ""
> > _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "se", "johnny",
> > "grp:alts_toggle,lv3:ralt_switch,compose:caps,altwin:left_meta_win"*
> >
> > Is there a way that I can make the *_XKB_RULES_NAMES_BACKUP(STRING)* the
> > same as *_XKB_RULES_NAMES(STRING)*? Because it seems to me that what
> happens
> > is that when some kind of fault occurs, the keyboard layout is switched
> to
> > whatever *_XKB_RULES_NAMES_BACKUP(STRING)* says.
>
> I've no idea were _XKB_RULES_NAMES_BACKUP comes from, or what uses it.
>
> setxkbmap is the one that both sets and uses _XKB_RULES_NAMES to
> remember the current setting.  AFAIU GNOME uses setxkbmap behind the
> scenes to manipulate the keyboard layout.
>
> > So if I could setboth of
> > them to  *"evdev", "pc105", "se", "johnny",
> > "grp:alts_toggle,lv3:ralt_switch,compose:caps,altwin:left_meta_win"*, I
> > could just ignore what ever happened?
>
> Maybe
>
> > Or maybe that's the dangerous way??
>
> I don't see how.
>
> The worst thing that can happen if you play with XKB too much is you'll
> end up with a broken layout that doesn't let you type anything or do any
> stuff like switch to a text terminal with Ctrl+Alt+F1.  You can always
> recover by copying and pasting 'setxkbmap us' letter-by-letter into a
> terminal, or ssh'ing in and killing the X server to restart it.
>
> Marius Gedminas
> --
> Si hoc legere scis nimium eruditionis habes.
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
>
> iD8DBQFJT4tVkVdEXeem148RAi3DAKCD1MoJkGvSkA3IqkaRU5FcijQruACePS/i
> hL9LsMQE5mKsZbCEyiyVgJE=
> =60lu
> -----END PGP SIGNATURE-----
>
> --
> ubuntu-users mailing list
> ubuntu-users at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/ubuntu-users/attachments/20081222/c9529c09/attachment.htm 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic