Dreaming about XKB2

There is a standing joke dream about XKB2. That name is used to refer the idea of breaking annoying limitations of XKB (yes, in incompatible way). New X11 extension, new API.

That thing was mentioned many times. Various people looked at it. Some (very few!) people have skills and knowledge to work at it - but, as all of us, they are busy people, and that project would give nothing but a lot of PITA and a small bit of credits (among those few who can understand the whole issue), so for a moment no timeline, no promises.

There is an idea that even collecting those dreams together in one place could be handy. May be, one day, we'll find the superhero... GSoC 2011?

Anyway, here is the place to express your ideas related to XKB2. The initial set was discussed with Andriy Rysin (the guy who manages XKB stuff in KDE).

Level clarification needed

Hi guys,

Let me get straight to my problem. The turkmen keyboard has different letters where x, c, v and q are supposed to be. So in the turkmen keyboard layout, I used:


To get ctrl shortcuts (copy, paste, cut, quit) to work. However, after adding these, the altGr doesn't work, we use altGr to get x, c, v which we do need in international words, though not frequently.

I looked at some other layouts they have lines such as FOUR_LEVEL, FOUR_LEVEL_ALPHABETIC. I'm guessing these are the ones to be used, though, if I substitute these, the ctrl shortcuts stop working. I frankly don't understand the mechanism, I got this far with try & fail. If anyone sees my problem, please share some tips :)

XKB options: swap Ctrl and Super (windows) key

Hi, I haven't found a mailing list on the freedesktop wiki, so I assume this place is as good as any other place. I wanted to ask for a feature to be implemented in the xkb layouts. So, let me explain. i have a macintosh (macintel) keyboard and even if I seldom uses Mac OS X, I'd like to have a similar layout as in Mac OS X. Especially around the special keys around the spacebar (control, alt, ...) Here is how my keyboard (a laptop) looks like (on the lowest row of keys):

Here is how a desktop mac keyboard would look like on the same row.

Now, on X11, the main modifier key is Control (<LCTL>, <RCTL>), while on Mac OS X, the main modifier key is command (or the windows key, it has the same keycode. <LWIN> <RWIN>). On Mac OS X, we can choose the third level (the equivalent of AltGr on PC keyboards) using any of the alt keys alone (<LALT>, <RALT>). When used in combination with the command key (<LWIN>, <RWIN>), the third level is not chosen. I tried to create an XKB map that would be as close to this behaviour as possible, but I couldn't succeed. The problem is that i couldn't find a way that Alt would trigger the third level if pressed alone, but not if pressed with another modifier. My solution was to map the keys as follows:

key <LCTL> to symbol Super_L and modifier Mod1 (Alt)
key <RCTL> to symbol Super_R and modifier Mod1 (Alt)
key <LALT> to symbol Alt_L and modifier Mod5 (level3 shift)
key <RALT> to symbol Alt_R and modifier Mod5 (level3 shift)
key <LWIN> to symbol Control_L and modifier Control
key <RWIN> to symbol Control_R and modifier Control
The exact code I used was:

  xkb_symbols   {

      // --------------
      // Default keymap
      // --------------

      include "pc"
      include "macintosh_vndr/fr"
      include "inet(evdev)"

      // ---------------
      // Command (cmd ⌘)
      // ---------------

      include "altwin(ctrl_win)"

      // -------------------
      // Control (ctrl) keys
      // -------------------

      key <LCTL> { [ Super_L, Super_L ] };
      key <RCTL> { [ Super_R, Super_R ] };
      modifier_map Mod1 { <LCTL>, <RCTL> };

      // ----------------
      // Alt (alt ⌥) keys
      // ----------------

      include "level3(lalt_switch)"
      include "level3(ralt_switch)"
Now, my only problem is that I have to use xkbcomp keymap $DISPLAY to install the keymap. And frequently, GNOME reset the keymap to the default keymap configured within GNOME. I'd really welcome these features to be included directly in xkb layouts. Probaaly in the XKB options. I think we could have something like:

partial modifier_keys
xkb_symbols "switch_lwin_lctrl" {
    key <LWIN> { [ Control_L ] };
    key <LCTL> { [ Super_L, Super_L ] };
    modifier_map Control { <LWIN> };

partial modifier_keys
xkb_symbols "switch_rwin_rctrl" {
    key <RWIN> { [ Control_R ] };
    key <RCTL> { [ Super_R, Super_R ] };
    modifier_map Control { <RWIN> };

partial modifier_keys
xkb_symbols "ctrl_key_as_mod1" {
    modifier_map Mod1 { <LCTL>, <RCTL> };
Then we could have something like I have using those three options plus level3(lalt_switch) and level3(ralt_switch) What do you think ? Could that be included ? Thanks. Mildred

(no subject)

Please help me !

How can i add more than four keyboard layouts on my Ubuntu 9.04 ? Is it fixable in this version of Ubuntu or i just should wait for next version (9.10 , where i hope this bug is fixed?)

Thanx !

European multi-lingual layout

The CEN/MEEK worgroup is writing a recommendation for all European countries for implementing their
multilinguage keyboards. In practice these recommendations will end up being used by parties such as Microsoft when implementing their layouts.

The document has just entered the public commenting period (which ends August 28th, 2009), and the workgroup would like to urge all interested parties in the X11 community to submit their comments.

The addresses are

Intro and request for documentation.

New to keyboard wizardry, I've just spent 3 days wondering round the net trying to figure out how
my Linux (Fedora core 9) gets from keyboard events to glyphs in emacs.

Started when I decided to move to dvorak. I'm in the UK, so I found the us dvorak symbols not quite right.

I've figured it out using
$setxkbmap dvorak (and changing xkb/symbols/us)
Also by modifying /etc/X11/xorg.conf to use the uk keyboard, with the dvorak option (only two changes this time).

I'm looking for documentation (high level presently) which takes me from the xorg.conf file through to
a set of directories (how are these selected?), to matching files from

Section "InputDevice"
# keyboard added by rhpxl
# DP Oct 08. Changed.  added grp:, dvorak layout
# SkbModel was "pc105". New one selected from bast.lst
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option        "XkbModel" "microsoft"
    Option        "XkbLayout" "gb,dvorak"
    Option      "XkbOptions"    "grp:alt_shift_toggle"

through to file gb, 'variant' (if that's the right word) ?

How can I find out what values are 'valid' within an Option?

Any documentation appropriate to Fedora / Redhat would be appreciated.

Second, I'm using a variant of the microsoft 'natural' keyboard.
Marked 'natural ergonomic keyboard 4000'

$xkbprint $DISPLAY keyboard.ps

Seems not to have this model in it's repertoire.

Is there any way I could contribute this?