You may not post on this forum because you're not logged in.

#1 27-Nov-2007 23:59:55

vertebrate
Member
Registered: 27-Nov-2007
Posts: 9

Backspace is caps lock and backspace.

I just setup colemak on Ubuntu Feisty Fawn, and the caps lock/backspace key is behaving like both. Shouldn't the keymap take care of making the caps lock key be only for backspace? Did I do something wrong? I can't imagine there's a bunch of people out there running linux and having their backspace key act like a caps lock key at the same time.

Thanks,
Steve

Offline

#2 28-Nov-2007 08:08:09

AGK
Member
From: NYC
Registered: 02-Feb-2007
Posts: 104
Website

Re: Backspace is caps lock and backspace.

I never had that problem on Ubuntu. Perhaps you should try redoing Colemak installation

Offline

#3 28-Nov-2007 08:28:04

DreymaR
Member
From: Bærum, Norway
Registered: 13-Dec-2006
Posts: 2,090
Website

Re: Backspace is caps lock and backspace.

I heard something about this, but can't remember where. It's in an old post somewhere.


Better burden you cannot carry than man-wisdom much  --  Hávamál
Check out my Big Bag of Keyboard Tricks! For XKB (Linux) and for PKL (Win).

Offline

#4 28-Nov-2007 08:52:19

fmate14
Member
From: Hungary, Budapest
Registered: 21-Oct-2007
Posts: 23
Website

Re: Backspace is caps lock and backspace.

vertebrate wrote:

I just setup colemak on Ubuntu Feisty Fawn, and the caps lock/backspace key is behaving like both.

I had same problem with OpenSUSE (gnome).  I remap the caps lock to Ctrl (right click in gnome panel...). It works well, but I lost the functionality of Caps Lock. :(


Portable Keyboard Layout with Colemak support
http://pkl.sourceforge.net/

Offline

#5 28-Nov-2007 14:49:07

Shai
Administrator
Registered: 11-Dec-2005
Posts: 349

Re: Backspace is caps lock and backspace.

See a previous thread about this.
Try xmodmap -e "remove Lock = Caps_Lock"
I will try to fix it for the next version.

Offline

#6 28-Nov-2007 14:55:00

vertebrate
Member
Registered: 27-Nov-2007
Posts: 9

Re: Backspace is caps lock and backspace.

If I run that command, then switch back to qwerty, and then back again to colemak does it need to be run again? The post there indicates that it's per session. Just wondering if that also includes layout switches.

Thanks

Offline

#7 28-Nov-2007 23:00:08

vertebrate
Member
Registered: 27-Nov-2007
Posts: 9

Re: Backspace is caps lock and backspace.

Shai, can you tell me what I would need to change in the xkb/symbols/colemak file so that I don't have to repeatedly do that? I'm assuming that's where the change would go?

Thanks,
Steve

Offline

#8 29-Nov-2007 02:14:59

Shai
Administrator
Registered: 11-Dec-2005
Posts: 349

Re: Backspace is caps lock and backspace.

I haven't been able to replicate the problem on my side yet.

I've researched this problem, and the way to do it seems to be using "modifier_map none", however this isn't a documented feature.
I think the syntax is:
modifier_map none { <CAPS> };
Try adding that line to your xkb/symbols/colemak and see what happens.

A Google search "modifier_map none" brings up the messages below. If adding the line above doesn't work for you, try asking the authors of the messages below or in the X.Org mailing list.
Bug#256706: Patch to solve XKB mess about modifiers
Bug#271542: xlibs: Can't get Meta and Alt to work correctly

(Update: this doesn't work, because it's a bug with GNOME not with the XKB file)

Offline

#9 12-Jan-2008 23:38:55

Shai
Administrator
Registered: 11-Dec-2005
Posts: 349

Re: Backspace is caps lock and backspace.

I've managed to reproduce the problem on Ubuntu (GNOME) Hardy Heron Alpha 3. There's a bug with the GNOME's keyboard layout handling. This doesn't happen with KDE, and it doesn't happen when running setxkbmap directly. A similar problem happens with GNOME even when Colemak isn't installed, e.g. when you switch the Ctrl and Caps Lock, the Caps Lock light still switches on and off (Bug report). Further investigation is required.

Offline

#10 13-Jan-2008 00:40:48

ethana2
Member
Registered: 09-May-2007
Posts: 79

Re: Backspace is caps lock and backspace.

Alright, I'll post my findings here so we can all use this information:
I downloaded Ubuntu Hardy Alpha 3, burned it, and ran it.
I selected colemak from the list of layouts in gnome (although it bugged me that it was under 'US English' --it's for any latin language.  Also works very well for Japanese and korean in fact.)
The caps lock acted as both caps lock and backspace.  I went to backspace behavior settings, and there wasn't a simple 'OFF'.  If they could add that, and have that set to its default behavior with the colemak keyboard layout, it'd be grand.

Hardy is the first release where the LiveCD works on my machine, and my goal is to get it to the point where it requires no special configuration at all for my basic use before it is released.  I have four months to do what I can to get it to that point.

Offline

#11 01-Mar-2008 15:59:26

SpookyET
Member
Registered: 01-Mar-2008
Posts: 5

Re: Backspace is caps lock and backspace.

Shai wrote:

I haven't been able to replicate the problem on my side yet.

I've researched this problem, and the way to do it seems to be using "modifier_map none", however this isn't a documented feature.
I think the syntax is:
modifier_map none { <CAPS> };
Try adding that line to your xkb/symbols/colemak and see what happens.

A Google search "modifier_map none" brings up the messages below. If adding the line above doesn't work for you, try asking the authors of the messages below or in the X.Org mailing list.
Bug#256706: Patch to solve XKB mess about modifiers
Bug#271542: xlibs: Can't get Meta and Alt to work correctly

I've added the line. It does not work.

// $XKeyboardConfig: xkeyboard-config/symbols/us,v 1.33 2007-08-24 22:01:29 uid2570 Exp $

//
// $XdotOrg: xc/programs/xkbcomp/symbols/us,v 1.1.4.3 2004/03/05 13:41:33 eich Exp $
// $XFree86: xc/programs/xkbcomp/symbols/us,v 1.6 2003/10/31 14:32:05 pascal Exp $

default
partial alphanumeric_keys modifier_keys 
xkb_symbols "basic" {

    name[Group1]= "U.S. English";

    // Alphanumeric section
    key <TLDE> {    [     grave,    asciitilde    ]    };
    key <AE01> {    [      1,    exclam         ]    };
    key <AE02> {    [      2,    at        ]    };
    key <AE03> {    [      3,    numbersign    ]    };
    key <AE04> {    [      4,    dollar        ]    };
    key <AE05> {    [      5,    percent        ]    };
    key <AE06> {    [      6,    asciicircum    ]    };
    key <AE07> {    [      7,    ampersand    ]    };
    key <AE08> {    [      8,    asterisk    ]    };
    key <AE09> {    [      9,    parenleft    ]    };
    key <AE10> {    [      0,    parenright    ]    };
    key <AE11> {    [     minus,    underscore    ]    };
    key <AE12> {    [     equal,    plus        ]    };

    key <AD01> {    [      q,    Q         ]    };
    key <AD02> {    [      w,    W        ]    };
    key <AD03> {    [      e,    E        ]    };
    key <AD04> {    [      r,    R        ]    };
    key <AD05> {    [      t,    T        ]    };
    key <AD06> {    [      y,    Y        ]    };
    key <AD07> {    [      u,    U        ]    };
    key <AD08> {    [      i,    I        ]    };
    key <AD09> {    [      o,    O        ]    };
    key <AD10> {    [      p,    P        ]    };
    key <AD11> {    [ bracketleft,    braceleft    ]    };
    key <AD12> {    [ bracketright,    braceright    ]    };

    key <AC01> {    [      a,    A         ]    };
    key <AC02> {    [      s,    S        ]    };
    key <AC03> {    [      d,    D        ]    };
    key <AC04> {    [      f,    F        ]    };
    key <AC05> {    [      g,    G        ]    };
    key <AC06> {    [      h,    H        ]    };
    key <AC07> {    [      j,    J        ]    };
    key <AC08> {    [      k,    K        ]    };
    key <AC09> {    [      l,    L        ]    };
    key <AC10> {    [ semicolon,    colon        ]    };
    key <AC11> {    [ apostrophe,    quotedbl    ]    };

    key <AB01> {    [      z,    Z         ]    };
    key <AB02> {    [      x,    X        ]    };
    key <AB03> {    [      c,    C        ]    };
    key <AB04> {    [      v,    V        ]    };
    key <AB05> {    [      b,    B        ]    };
    key <AB06> {    [      n,    N        ]    };
    key <AB07> {    [      m,    M        ]    };
    key <AB08> {    [     comma,    less        ]    };
    key <AB09> {    [    period,    greater        ]    };
    key <AB10> {    [     slash,    question    ]    };

    key <BKSL> {    [ backslash,         bar    ]    };
    key <CAPS> {    [ Caps_Lock    ]    };
    // End alphanumeric section
};

partial alphanumeric_keys
xkb_symbols "euro" {

    name[Group1]= "U.S. English - With EuroSign on 5";

    include "us(basic)"

    include "eurosign(5)"

    include "level3(ralt_switch)"
};


partial alphanumeric_keys
xkb_symbols "intl" {

    name[Group1]= "U.S. English - International (with dead keys)";

    include "us(basic)"

    // Alphanumeric section
    key <TLDE> { [dead_grave, dead_tilde,         grave,       asciitilde ] };
    key <AE01> { [       1,     exclam,    exclamdown,      onesuperior ] };
    key <AE02> { [       2,         at,   twosuperior, dead_doubleacute ] };
    key <AE03> { [       3, numbersign, threesuperior,      dead_macron ] };
    key <AE04> { [       4,     dollar,      currency,         sterling ] };
    key <AE05> { [       5,    percent,      EuroSign                   ] };
    key <AE06> { [    6, dead_circumflex,    onequarter,      asciicircum ] };
    key <AE07> { [       7,  ampersand,       onehalf,    dead_horn ] };
    key <AE08> { [       8,   asterisk, threequarters,      dead_ogonek ] };
    key <AE09> { [       9,  parenleft, leftsinglequotemark, dead_breve ] };
    key <AE10> { [       0, parenright, rightsinglequotemark, dead_abovering ] };
    key <AE11> { [     minus, underscore,           yen,    dead_belowdot ] };
    key <AE12> { [     equal,       plus,      multiply,         division ] };

    key <AD01> { [       q,          Q,    adiaeresis,       Adiaeresis ] };
    key <AD02> { [       w,          W,         aring,            Aring ] };
    key <AD03> { [       e,          E,        eacute,           Eacute ] };
    key <AD04> { [       r,          R,    registered,       registered ] };
    key <AD05> { [       t,          T,         thorn,            THORN ] };
    key <AD06> { [       y,          Y,    udiaeresis,       Udiaeresis ] };
    key <AD07> { [       u,          U,        uacute,           Uacute ] };
    key <AD08> { [       i,          I,        iacute,           Iacute ] };
    key <AD09> { [       o,          O,        oacute,           Oacute ] };
    key <AD10> { [       p,          P,    odiaeresis,       Odiaeresis ] };
    key <AD11> { [ bracketleft,  braceleft,  guillemotleft, guillemotleft ] };
    key <AD12> { [bracketright, braceright, guillemotright,guillemotright ] };

    key <AC01> { [       a,          A,        aacute,           Aacute ] };
    key <AC02> { [       s,          S,        ssharp,          section ] };
    key <AC03> { [       d,          D,           eth,              ETH ] };
    key <AC08> { [       k,          K,            oe,               OE ] };

    key <AC09> { [       l,          L,        oslash,         Ooblique ] };
    key <AC10> { [ semicolon,      colon,     paragraph,           degree ] };
    key <AC11> { [dead_acute, dead_diaeresis, apostrophe,        quotedbl ] };

    key <AB01> { [       z,          Z,            ae,               AE ] };
    key <AB03> { [       c,          C,     copyright,             cent ] };
    key <AB06> { [       n,          N,        ntilde,           Ntilde ] };
    key <AB07> { [       m,          M,            mu,               mu ] };
    key <AB08> { [     comma,       less,      ccedilla,         Ccedilla ] };
    key <AB09> { [    period,    greater, dead_abovedot,       dead_caron ] };
    key <AB10> { [     slash,   question,  questiondown,        dead_hook ] };
    key <BKSL> { [ backslash,        bar,       notsign,        brokenbar ] };

    include "level3(ralt_switch)"
};

// Based on symbols/us_intl keyboard map:
// Dead-keys definition for a very simple US/ASCII layout.
// by Conectiva (http://www.conectiva.com.br)
// modified by Ricardo Y. Igarashi (iga@that.com.br)

// Added the following deadkeys, to make it truly international:
//
// dead_macron: on AltGr-minus
// dead_breve: on AltGr-parenleft
// dead_abovedot: on AltGr-period
// dead_abovering: on AltGr-0
// dead_doubleacute: on AltGr-equal (as quotedbl is already used)
// dead_caron: on AltGr-less (AltGr-shift-comma)
// dead_cedilla: on AltGr-comma
// dead_ogonek: on AltGr-semicolon
// dead_belowdot: on AltGr-underscore (AltGr-shift-minus)
// dead_hook: on AltGr-question
// dead_horn: on AltGr-plus (AltGr-shift-equal)
// dead_diaeresis: on AltGr-colon (Alt-shift-semicolon)
//
// those were already there:
// dead_grave
// dead_acute
// dead_circumflex
// dead_tilde
// dead_diaeresis

partial alphanumeric_keys
xkb_symbols "alt-intl" {

  name[Group1]= "U.S. English - Alternative international (former us_intl)";

  include "us"

  key <TLDE> { [ dead_grave, dead_tilde,    grave,          asciitilde    ] };
  key <AE05> { [          5, percent,        EuroSign                ] };
  key <AE06> { [      6, dead_circumflex, asciicircum,    asciicircum   ] };
  key <AE09> { [      9, parenleft, leftsinglequotemark,  dead_breve ] };
  key <AE10> { [      0, parenright, rightsinglequotemark, dead_abovering ] };
  key <AE11> { [      minus, underscore,    dead_macron,      dead_belowdot ] };
  key <AE12> { [      equal, plus,        dead_doubleacute, dead_horn        ] };

  key <AD03> { [          e, E,             EuroSign,         cent        ] };

  key <AC10> { [  semicolon, colon,         dead_ogonek,   dead_diaeresis  ] };
  key <AC11> { [ dead_acute, dead_diaeresis, apostrophe,    quotedbl        ] };

  key <AB08> { [      comma, less,         dead_cedilla,  dead_caron        ] };
  key <AB09> { [     period, greater,         dead_abovedot, dead_circumflex ] };
  key <AB10> { [      slash, question,         dead_hook,        dead_hook        ] };

  include "level3(ralt_switch)"
};

// based on a keyboard map from an 'xkb/symbols/dk' file
//
// $XFree86: xc/programs/xkbcomp/symbols/dvorak,v 1.5 2004/01/03 16:35:07 herrb Exp $

partial alphanumeric_keys
xkb_symbols "dvorak" {

    name[Group1]= "U.S. English - Dvorak";

    // Alphanumeric section

    key <TLDE> { [       grave,    asciitilde, dead_grave, dead_tilde    ] };

    key <AE01> { [        1,    exclam         ]    };
    key <AE02> { [        2,    at        ]    };
    key <AE03> { [        3,    numbersign    ]    };
    key <AE04> { [        4,    dollar        ]    };
    key <AE05> { [        5,    percent        ]    };
    key <AE06> { [        6,    asciicircum, dead_circumflex, dead_circumflex ]    };
    key <AE07> { [        7,    ampersand    ]    };
    key <AE08> { [        8,    asterisk    ]    };
    key <AE09> { [        9,    parenleft,  dead_grave]    };
    key <AE10> { [        0,    parenright    ]    };
    key <AE11> { [ bracketleft,    braceleft    ]    };
    key <AE12> { [ bracketright, braceright,  dead_tilde] };

    key <AD01> { [  apostrophe,    quotedbl, dead_acute, dead_diaeresis    ] };
    key <AD02> { [    comma,    less,   dead_cedilla, dead_caron    ] };
    key <AD03> { [      period,    greater, dead_abovedot, periodcentered    ] };
    key <AD04> { [        p,    P        ]    };
    key <AD05> { [        y,    Y        ]    };
    key <AD06> { [        f,    F        ]    };
    key <AD07> { [        g,    G        ]    };
    key <AD08> { [        c,    C        ]    };
    key <AD09> { [        r,    R        ]    };
    key <AD10> { [        l,    L        ]    };
    key <AD11> { [    slash,    question    ]    };
    key <AD12> { [    equal,    plus        ]    };

    key <AC01> { [        a,    A         ]    };
    key <AC02> { [        o,    O        ]    };
    key <AC03> { [        e,    E        ]    };
    key <AC04> { [        u,    U        ]    };
    key <AC05> { [        i,    I        ]    };
    key <AC06> { [        d,    D        ]    };
    key <AC07> { [        h,    H        ]    };
    key <AC08> { [        t,    T        ]    };
    key <AC09> { [        n,    N        ]    };
    key <AC10> { [        s,    S        ]    };
    key <AC11> { [    minus,    underscore    ]    };

    key <AB01> { [   semicolon,    colon, dead_ogonek, dead_doubleacute ] };
    key <AB02> { [        q,    Q        ]    };
    key <AB03> { [        j,    J        ]    };
    key <AB04> { [        k,    K        ]    };
    key <AB05> { [        x,    X        ]    };
    key <AB06> { [        b,    B        ]    };
    key <AB07> { [        m,    M        ]    };
    key <AB08> { [        w,    W        ]    };
    key <AB09> { [        v,    V        ]    };
    key <AB10> { [        z,    Z        ]    };

    key <BKSL> { [  backslash,  bar             ]       };
};

// Left and right handed dvorak layouts
// by sqweek <sqweek@gmail.com> 2006-01-30
// Based on the corresponding layouts in the console-tools package.
partial alphanumeric_keys
xkb_symbols "dvorak-l" {

    include "us(dvorak)"
    name[Group1]= "U.S. English - Left handed Dvorak";

    key <AE01> {    [ bracketleft,    braceleft    ]    };
    key <AE02> {    [ bracketright,    braceright    ],
            [  dead_tilde            ]    };
    key <AE03> {    [    slash,    question    ]    };
    key <AE04> {    [        p,    P        ]    };
    key <AE05> {    [        f,    F        ]    };
    key <AE06> {    [        m,    M        ]    };
    key <AE07> {    [        l,    L        ]    };
    key <AE08> {    [        j,    J        ]    };
    key <AE09> {    [        4,    dollar        ]    };
    key <AE10> {    [        3,    numbersign    ]    };
    key <AE11> {    [        2,    at        ]    };
    key <AE12> {    [        1,    exclam         ]    };

    key <AD01> {    [   semicolon,    colon         ],
            [ dead_ogonek, dead_doubleacute ]    };
    key <AD02> {    [        q,    Q        ]    };
    key <AD03> {    [        b,    B        ]    };
    key <AD04> {    [        y,    Y        ]    };
    key <AD05> {    [        u,    U        ]    };
    key <AD06> {    [        r,    R        ]    };
    key <AD07> {    [        s,    S        ]    };
    key <AD08> {    [        o,    O        ]    };
    key <AD09> {    [      period,    greater        ],
            [ dead_abovedot, periodcentered ]    };
    key <AD10> {    [        6,    asciicircum    ],
            [ dead_circumflex, dead_circumflex ]    };
    key <AD11> {    [        5,    percent        ]    };
    key <AD12> {    [    equal,    plus        ]    };

    key <AC01> {    [    minus,    underscore    ]    };
    key <AC02> {    [        k,    K        ]    };
    key <AC03> {    [        c,    C        ]    };
    key <AC04> {    [        d,    D        ]    };
    key <AC05> {    [        t,    T        ]    };
    key <AC06> {    [        h,    H        ]    };
    key <AC07> {    [        e,    E        ]    };
    key <AC08> {    [        a,    A         ]    };
    key <AC09> {    [        z,    Z        ]    };
    key <AC10> {    [        8,    asterisk    ]    };
    key <AC11> {    [        7,    ampersand    ]    };

    key <AB01> {    [  apostrophe,    quotedbl    ],
            [  dead_acute,    dead_diaeresis    ]     };
    key <AB02> {    [        x,    X        ]    };
    key <AB03> {    [        g,    G        ]    };
    key <AB04> {    [        v,    V        ]    };
    key <AB05> {    [        w,    W        ]    };
    key <AB06> {    [        n,    N        ]    };
    key <AB07> {    [        i,    I        ]    };
    key <AB08> {    [    comma,    less        ],
            [ dead_cedilla,    dead_caron    ]    };
    key <AB09> {    [        0,    parenright    ]    };
    key <AB10> {    [        9,    parenleft    ],
            [  dead_grave            ]    };
};

partial alphanumeric_keys
xkb_symbols "dvorak-r" {
    
    include "us(dvorak)"
    name[Group1]= "U.S. English - Right handed Dvorak";

    key <AE01> {    [        1,    exclam         ]    };
    key <AE02> {    [        2,    at        ]    };
    key <AE03> {    [        3,    numbersign    ]    };
    key <AE04> {    [        4,    dollar        ]    };
    key <AE05> {    [        j,    J        ]    };
    key <AE06> {    [        l,    L        ]    };
    key <AE07> {    [        m,    M        ]    };
    key <AE08> {    [        f,    F        ]    };
    key <AE09> {    [        p,    P        ]    };
    key <AE10> {    [    slash,    question    ]    };
    key <AE11> {    [ bracketleft,    braceleft    ]    };
    key <AE12> {    [ bracketright,    braceright    ],
            [  dead_tilde            ]    };

    key <AD01> {    [        5,    percent        ]    };
    key <AD02> {    [        6,    asciicircum ],
            [ dead_circumflex, dead_circumflex ]    };
    key <AD03> {    [        q,    Q        ]    };
    key <AD04> {    [      period,    greater        ], 
            [ dead_abovedot, periodcentered    ]    };
    key <AD05> {    [        o,    O        ]    };
    key <AD06> {    [        r,    R        ]    };
    key <AD07> {    [        s,    S        ]    };
    key <AD08> {    [        u,    U        ]    };
    key <AD09> {    [        y,    Y        ]    };
    key <AD10> {    [        b,    B        ]    };
    key <AD11> {    [   semicolon,    colon         ],
            [ dead_ogonek, dead_doubleacute ]    };
    key <AD12> {    [    equal,    plus        ]    };

    key <AC01> {    [        7,    ampersand    ]    };
    key <AC02> {    [        8,    asterisk    ]    };
    key <AC03> {    [        z,    Z        ]    };
    key <AC04> {    [        a,    A         ]    };
    key <AC05> {    [        e,    E        ]    };
    key <AC06> {    [        h,    H        ]    };
    key <AC07> {    [        t,    T        ]    };
    key <AC08> {    [        d,    D        ]    };
    key <AC09> {    [        c,    C        ]    };
    key <AC10> {    [        k,    K        ]    };
    key <AC11> {    [    minus,    underscore    ]    };

    key <AB01> {    [        9,    parenleft    ],
            [  dead_grave            ]    };
    key <AB02> {    [        0,    parenright    ]    };
    key <AB03> {    [        x,    X        ]    };
    key <AB04> {    [    comma,    less        ],
            [ dead_cedilla,    dead_caron    ]    };
    key <AB05> {    [        i,    I        ]    };
    key <AB06> {    [        n,    N        ]    };
    key <AB07> {    [        w,    W        ]    };
    key <AB08> {    [        v,    V        ]    };
    key <AB09> {    [        g,    G        ]    };
    key <AB10> {    [  apostrophe,    quotedbl    ],
            [  dead_acute,    dead_diaeresis    ]     };
};

// Classic dvorak layout
// by Piter Punk <piterpk@terra.com.br> - 2006-07-06 
// Based on dvorak layout and e-mail from Russel L. Harris rlharris@oplink.net 
// on xorg list.
partial alphanumeric_keys
xkb_symbols "dvorak-classic" {

    name[Group1]= "U.S. English - Classic Dvorak";

    // Alphanumeric section

    key <TLDE> { [       grave,    asciitilde, dead_grave, dead_tilde    ] };

    key <AE01> { [ bracketleft,    braceleft    ]    };
    key <AE02> { [        7,    ampersand    ]    };
    key <AE03> { [        5,    percent        ]    };
    key <AE04> { [        3,    numbersign    ]    };
    key <AE05> { [        1,    exclam         ]    };
    key <AE06> { [        9,    parenleft,  dead_grave]    };
    key <AE07> { [        0,    parenright    ]    };
    key <AE08> { [        2,    at        ]    };
    key <AE09> { [        4,    dollar        ]    };
    key <AE10> { [        6,    asciicircum, dead_circumflex, dead_circumflex ]    };
    key <AE11> { [        8,    asterisk    ]    };
    key <AE12> { [ bracketright, braceright,  dead_tilde] };

    key <AD01> { [    slash,    question    ]    };
    key <AD02> { [    comma,    less,   dead_cedilla, dead_caron    ] };
    key <AD03> { [      period,    greater, dead_abovedot, periodcentered    ] };
    key <AD04> { [        p,    P        ]    };
    key <AD05> { [        y,    Y        ]    };
    key <AD06> { [        f,    F        ]    };
    key <AD07> { [        g,    G        ]    };
    key <AD08> { [        c,    C        ]    };
    key <AD09> { [        r,    R        ]    };
    key <AD10> { [        l,    L        ]    };
    key <AD11> { [  apostrophe,    quotedbl, dead_acute, dead_diaeresis    ] };
    key <AD12> { [    equal,    plus        ]    };

    key <AC01> { [        a,    A         ]    };
    key <AC02> { [        o,    O        ]    };
    key <AC03> { [        e,    E        ]    };
    key <AC04> { [        u,    U        ]    };
    key <AC05> { [        i,    I        ]    };
    key <AC06> { [        d,    D        ]    };
    key <AC07> { [        h,    H        ]    };
    key <AC08> { [        t,    T        ]    };
    key <AC09> { [        n,    N        ]    };
    key <AC10> { [        s,    S        ]    };
    key <AC11> { [    minus,    underscore    ]    };

    key <AB01> { [   semicolon,    colon, dead_ogonek, dead_doubleacute ] };
    key <AB02> { [        q,    Q        ]    };
    key <AB03> { [        j,    J        ]    };
    key <AB04> { [        k,    K        ]    };
    key <AB05> { [        x,    X        ]    };
    key <AB06> { [        b,    B        ]    };
    key <AB07> { [        m,    M        ]    };
    key <AB08> { [        w,    W        ]    };
    key <AB09> { [        v,    V        ]    };
    key <AB10> { [        z,    Z        ]    };
    key <BKSL> { [  backslash,  bar             ]       };
};

// phonetic layout for Russian letters on an US keyboard
// by Ivan Popov <pin@konvalo.org> 2005-07-17

// level3 modifier is a shortcut to the "us" meaning of the keys where
// we place cyrillic letters, handy for accessing the corresponding
// punctuation marks.
// It is important to have access to punctuation marks, and the rest of
// alphabetical keys are added for being consequent so that the users
// can expect the level3 modifier to give what the key label shows.

partial alphanumeric_keys
xkb_symbols "rus" {

    name[Group1]= "U.S. English - Russian phonetic";

    include "us(basic)"

key.type[group1]="FOUR_LEVEL_ALPHABETIC";

    key    <LatA> {    [ Cyrillic_a, Cyrillic_A ]    };
    key    <LatB> {    [ Cyrillic_be, Cyrillic_BE ]    };
    key    <LatW> {    [ Cyrillic_ve, Cyrillic_VE ]    };
    key    <LatG> {    [ Cyrillic_ghe, Cyrillic_GHE ]    };
    key    <LatD> {    [ Cyrillic_de, Cyrillic_DE ]    };
    key    <LatE> {    [ Cyrillic_ie, Cyrillic_IE ]    };
    key    <TLDE> {    [ Cyrillic_io, Cyrillic_IO, grave, asciitilde ] };
    key    <LatV> {    [ Cyrillic_zhe, Cyrillic_ZHE ]    };
    key    <LatZ> {    [ Cyrillic_ze, Cyrillic_ZE ]    };
    key    <LatI> {    [ Cyrillic_i, Cyrillic_I ]    };
    key    <LatJ> {    [ Cyrillic_shorti, Cyrillic_SHORTI ]    };
    key    <LatK> {    [ Cyrillic_ka, Cyrillic_KA ]    };
    key    <LatL> {    [ Cyrillic_el, Cyrillic_EL ]    };
    key    <LatM> {    [ Cyrillic_em, Cyrillic_EM ]    };
    key    <LatN> {    [ Cyrillic_en, Cyrillic_EN ]    };
    key    <LatO> {    [ Cyrillic_o, Cyrillic_O ]    };
    key    <LatP> {    [ Cyrillic_pe, Cyrillic_PE ]    };
    key    <LatR> {    [ Cyrillic_er, Cyrillic_ER ]    };
    key    <LatS> {    [ Cyrillic_es, Cyrillic_ES ]    };
    key    <LatT> {    [ Cyrillic_te, Cyrillic_TE ]    };
    key    <LatU> {    [ Cyrillic_u, Cyrillic_U ]    };
    key    <LatF> {    [ Cyrillic_ef, Cyrillic_EF ]    };
    key    <LatH> {    [ Cyrillic_ha, Cyrillic_HA ]    };
    key    <LatC> {    [ Cyrillic_tse, Cyrillic_TSE ]    };
    key <AC10> {        [ Cyrillic_che, Cyrillic_CHE, semicolon, colon ] };
    key    <AD11> {    [ Cyrillic_sha, Cyrillic_SHA, bracketleft, braceleft] };
    key    <AD12> {    [ Cyrillic_shcha, Cyrillic_SHCHA, bracketright, braceright ]    };
    key <AE12> {        [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
    key    <LatY> {    [ Cyrillic_yeru, Cyrillic_YERU ]    };
    key    <LatX> {    [ Cyrillic_softsign, Cyrillic_SOFTSIGN ]    };
    key    <BKSL> {    [ Cyrillic_e, Cyrillic_E, backslash, bar ]    };
    key <AC11> {        [ Cyrillic_yu, Cyrillic_YU, apostrophe, quotedbl ] };
    key    <LatQ> {    [ Cyrillic_ya, Cyrillic_YA ]    };

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "mac" {

    include "us"
    name[Group1]= "U.S. English - Macintosh";
};
 
// Colemak symbols for xkb on X.Org Server 7.x
// 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain.

partial alphanumeric_keys
xkb_symbols "colemak" {
    include "us"
    name[Group1]= "U.S. English - Colemak";
    
    
    // Alphanumeric section
    key <TLDE> { [        grave,   asciitilde,      dead_tilde,       asciitilde ] };
    key <AE01> { [            1,       exclam,      exclamdown,      onesuperior ] };
    key <AE02> { [            2,           at,       masculine,      twosuperior ] };
    key <AE03> { [            3,   numbersign,     ordfeminine,    threesuperior ] };
    key <AE04> { [            4,       dollar,            cent,         sterling ] };
    key <AE05> { [            5,      percent,        EuroSign,              yen ] };
    key <AE06> { [            6,  asciicircum,         hstroke,          Hstroke ] };
    key <AE07> { [            7,    ampersand,             eth,              ETH ] };
    key <AE08> { [            8,     asterisk,           thorn,            THORN ] };
    key <AE09> { [            9,    parenleft,  leftsinglequotemark,  leftdoublequotemark ] };
    key <AE10> { [            0,   parenright, rightsinglequotemark,  rightdoublequotemark ] };
    key <AE11> { [        minus,   underscore,          endash,           emdash ] };
    key <AE12> { [        equal,         plus,        multiply,         division ] };

    key <AD01> { [            q,            Q,      adiaeresis,       Adiaeresis ] };
    key <AD02> { [            w,            W,           aring,            Aring ] };
    key <AD03> { [            f,            F,          atilde,           Atilde ] };
    key <AD04> { [            p,            P,          oslash,         Ooblique ] };
    key <AD05> { [            g,            G,     dead_ogonek,       asciitilde ] };
    key <AD06> { [            j,            J,         dstroke,          Dstroke ] };
    key <AD07> { [            l,            L,         lstroke,          Lstroke ] };
    key <AD08> { [            u,            U,          uacute,           Uacute ] };
    key <AD09> { [            y,            Y,      udiaeresis,       Udiaeresis ] };
    key <AD10> { [    semicolon,        colon,      odiaeresis,       Odiaeresis ] };
    key <AD11> { [  bracketleft,    braceleft,   guillemotleft,        0x1002039 ] };
    key <AD12> { [ bracketright,   braceright,  guillemotright,        0x100203a ] };
    key <BKSL> { [    backslash,          bar,      asciitilde,       asciitilde ] };

    key <AC01> { [            a,            A,          aacute,           Aacute ] };
    key <AC02> { [            r,            R,      dead_grave,       asciitilde ] };
    key <AC03> { [            s,            S,          ssharp,       asciitilde ] };
    key <AC04> { [            t,            T,      dead_acute, dead_doubleacute ] };
    key <AC05> { [            d,            D,  dead_diaeresis,       asciitilde ] };
    key <AC06> { [            h,            H,      dead_caron,       asciitilde ] };
    key <AC07> { [            n,            N,          ntilde,           Ntilde ] };
    key <AC08> { [            e,            E,          eacute,           Eacute ] };
    key <AC09> { [            i,            I,          iacute,           Iacute ] };
    key <AC10> { [            o,            O,          oacute,           Oacute ] };
    key <AC11> { [   apostrophe,     quotedbl,          otilde,           Otilde ] };

    key <AB01> { [            z,            Z,              ae,               AE ] };
    key <AB02> { [            x,            X, dead_circumflex,       asciitilde ] };
    key <AB03> { [            c,            C,        ccedilla,         Ccedilla ] };
    key <AB04> { [            v,            V,              oe,               OE ] };
    key <AB05> { [            b,            B,      dead_breve,       asciitilde ] };
    key <AB06> { [            k,            K,  dead_abovering,       asciitilde ] };
    key <AB07> { [            m,            M,     dead_macron,       asciitilde ] };
    key <AB08> { [        comma,         less,    dead_cedilla,       asciitilde ] };
    key <AB09> { [       period,      greater,   dead_abovedot,       asciitilde ] };
    key <AB10> { [        slash,     question,    questiondown,       asciitilde ] };

    key <CAPS> { [    BackSpace,    BackSpace,       BackSpace,        BackSpace ] };
    key <LSGT> { [        minus,   underscore,          endash,           emdash ] };
    key <SPCE> { [        space,        space,           space,     nobreakspace ] };

    include "level3(ralt_switch)"

    // Bug documented at http://forum.colemak.com/viewtopic.php?pid=1935#p1935
    modifier_map none { <CAPS> };

};

// I do NOT like dead-keys - the International keyboard as defined by Microsoft
// doesn't fit my needs. Why use two keystrokes for all simple characters (eg '
// and <space> generates a single ') just to have an é (eacute) in two strokes
// as well? I type ' more often than é (eacute).
//
// This file works just like a regular keyboard, BUT has all dead-keys
// accessible at level3 (through AltGr). An ë (ediaeresis) is now: AltGr+"
// followed by an e. In other words, this keyboard is not international as long
// as you leave the right Alt key alone.
//
// The original MS International keyboard was intended for Latin1 (iso8859-1).
// With the introduction of iso8859-15, the (important) ligature oe (and OE)
// became available. I added them next to ae. Because I write ediaeresis more
// often than registered, I moved registered to be next to copyright and added
// ediaeresis and idiaeresis. - Adriaan

partial alphanumeric_keys
xkb_symbols "altgr-intl" {

   name[Group1]= "U.S. English - International (AltGr dead keys)";

   include "us(intl)"

// five dead keys moved into level3:

   key <TLDE> { [    grave, asciitilde,  dead_grave,   dead_tilde      ] };
   key <AC11> { [apostrophe,quotedbl,    dead_acute,   dead_diaeresis  ] };

// diversions from the MS Intl keyboard:

   key <AE01> { [        1, exclam,      onesuperior,  exclamdown      ] };
   key <AD04> { [        r, R,           ediaeresis,   Ediaeresis      ] };
   key <AC07> { [        j, J,           idiaeresis,   Idiaeresis      ] };
   key <AB02> { [        x, X,           oe,           OE              ] };
   key <AB04> { [        v, V,           registered,   registered      ] };

// onequarter etc (not in iso8859-15) deleted to get three unshifted deadkeys:

   key <AE06> { [        6, asciicircum,       dead_circumflex         ] };
   key <AE07> { [        7, ampersand,         dead_horn               ] };
   key <AE08> { [        8, asterisk,          dead_ogonek             ] };

   include "level3(ralt_switch)"
};

// Intel ClassmatePC Keyboard Layout
// by Piter PUNK <piterpk@terra.com.br>
//
// The keyboard layouts below maps the us(basic), us(intl) and us(alt-intl)
// to ClassmatePC keyboard. All layouts uses RCTL as level3(switch) since
// the keyboard doesn't have AltGr key. The EuroSign is engraved at 5 key.

// classmate - us(basic)
partial alphanumeric_keys
xkb_symbols "classmate" {
    include "us(basic)"
    name[Group1]= "U.S. English - ClassmatePC";

    key <LSGT> { [ backslash,    bar,        backslash,    bar ] };

    include "eurosign(5)"
    include "level3(switch)"
};

// classmate-intl - us(intl)
// RCTL is generated by Fn+Alt, because that, when trying to access
// the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
// the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
// generate the same symbol as the original key.
partial alphanumeric_keys
xkb_symbols "classmate-intl" {
    include "us(intl)"
    name[Group1]= "U.S. English - ClassmatePC (International)";
    key.type[Group1]="FOUR_LEVEL";

    key <LSGT> { [ backslash,    bar,        backslash,    bar ] };

    key <KP7>  { [    KP_Home,        KP_7,    
            onehalf,        dead_horn    ] };
    key <KP8>  { [    KP_Up,            KP_8,
            threequarters,        dead_ogonek    ] };
    key <KP9>  { [    KP_Prior,        KP_9,
            leftsinglequotemark,    dead_breve    ] };
    key <KPMU> { [     KP_Multiply,        KP_Multiply,
            rightsinglequotemark,    dead_abovering    ] };

    key <KP4>  { [    KP_Left,        KP_4,
            uacute,            Uacute        ] };
    key <KP5>  { [    KP_Begin,        KP_5,
            iacute,            Iacute        ] };
    key <KP6>  { [    KP_Right,        KP_6,
            oacute,            Oacute        ] };
    key <KPSU> { [    KP_Subtract,        KP_Subtract,
            odiaeresis,        Odiaeresis    ] };

    key <KP2>  { [    KP_Down,        KP_2,
            oe,            OE        ] };
    key <KP3>  { [    KP_Next,        KP_3,
            oslash,            Ooblique    ] };
    key <KPAD> { [     KP_Add,             KP_Add,
            paragraph,        degree          ] };
   
    key <KP0>  { [    KP_Insert,        KP_0,
            mu,            mu    ] };
    key <KPDL> { [    KP_Delete,        KP_Decimal,
            dead_abovedot,        dead_caron    ] }; 
    key <KPDV> { [     KP_Divide,           KP_Divide,
            questiondown,        dead_hook       ] };

    include "level3(switch)"
};

// classmate-alt-intl - us(alt-intl)
// RCTL is generated by Fn+Alt, because that, when trying to access
// the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
// the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
// generate the same symbol as the original key.
partial alphanumeric_keys
xkb_symbols "classmate-alt-intl" {
    include "us(alt-intl)"
    name[Group1]= "U.S. English - ClassmatePC (Alternative International)";
    key.type[Group1]="FOUR_LEVEL";

    key <LSGT> { [ backslash,    bar,        backslash,    bar ] };

    key <KPSU> { [    KP_Subtract,        KP_Subtract    ] };

    key <KP9>  { [    KP_Prior,        KP_9,
            leftsinglequotemark,    dead_breve    ] };
    key <KPMU> { [     KP_Multiply,        KP_Multiply,
            rightsinglequotemark,    dead_abovering    ] };

    key <KPAD> { [     KP_Add,             KP_Add,
            dead_ogonek,        dead_diaeresis   ] };
    
    key <KPDL> { [    KP_Delete,        KP_Decimal,
            dead_abovedot,        dead_circumflex    ] }; 
    key <KPDV> { [     KP_Divide,           KP_Divide,
            dead_hook,        dead_hook       ] };

    include "level3(switch)"
};

// classmate-altgr-intl - us(altgr-intl)
// RCTL is generated by Fn+Alt, because that, when trying to access
// the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
// the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
// generate the same symbol as the original key.
partial alphanumeric_keys
xkb_symbols "classmate-altgr-intl" {
    include "us(altgr-intl)"
    name[Group1]= "U.S. English - ClassmatePC (International Fn+Alt dead-keys)";
    key.type[Group1]="FOUR_LEVEL";

    key <LSGT> { [ backslash,    bar,        backslash,    bar ] };

    key <KP7>  { [    KP_Home,        KP_7,    
            dead_horn,        dead_horn    ] };
    key <KP8>  { [    KP_Up,            KP_8,
            dead_ogonek,        dead_ogonek    ] };
    key <KP9>  { [    KP_Prior,        KP_9,
            leftsinglequotemark,    dead_breve    ] };
    key <KPMU> { [     KP_Multiply,        KP_Multiply,
            rightsinglequotemark,    dead_abovering    ] };

    key <KP4>  { [    KP_Left,        KP_4,
            uacute,            Uacute        ] };
    key <KP5>  { [    KP_Begin,        KP_5,
            iacute,            Iacute        ] };
    key <KP6>  { [    KP_Right,        KP_6,
            oacute,            Oacute        ] };
    key <KPSU> { [    KP_Subtract,        KP_Subtract,
            odiaeresis,        Odiaeresis    ] };

    key <KP1>  { [    KP_End,            KP_1,
            idiaeresis,        Idiaeresis    ] };
    key <KP2>  { [    KP_Down,        KP_2,
            oe,            OE        ] };
    key <KP3>  { [    KP_Next,        KP_3,
            oslash,            Ooblique    ] };
    key <KPAD> { [     KP_Add,             KP_Add,
            paragraph,        degree          ] };
   
    key <KP0>  { [    KP_Insert,        KP_0,
            mu,            mu    ] };
    key <KPDL> { [    KP_Delete,        KP_Decimal,
            dead_abovedot,        dead_caron    ] }; 
    key <KPDV> { [     KP_Divide,           KP_Divide,
            questiondown,        dead_hook       ] };

    include "level3(switch)"
};

Offline

#12 01-Mar-2008 16:25:17

Shai
Administrator
Registered: 11-Dec-2005
Posts: 349

Re: Backspace is caps lock and backspace.

Yes, it won't work because it's a bug with GNOME's keyboard layout handling, not with the XKB file itself.

Offline

#13 03-Mar-2008 02:31:22

SpookyET
Member
Registered: 01-Mar-2008
Posts: 5

Re: Backspace is caps lock and backspace.

Shai wrote:

Yes, it won't work because it's a bug with GNOME's keyboard layout handling, not with the XKB file itself.

Do you know if remapping caps to backspace is a workaround?

Offline

#14 06-Apr-2008 23:22:06

SpookyET
Member
Registered: 01-Mar-2008
Posts: 5

Re: Backspace is caps lock and backspace.

It has not been fixed in Gnome 2.22. Is there no workaround?

Offline

#15 10-May-2008 07:14:55

ethana2
Member
Registered: 09-May-2007
Posts: 79

Re: Backspace is caps lock and backspace.

On Ubuntu Hardy--  the following command persists as I can tell.

xmodmap -e "remove Lock = Caps_Lock"

Just run that using the included colemak layout and you should be just fine.

Offline

#16 10-May-2008 15:35:39

SpookyET
Member
Registered: 01-Mar-2008
Posts: 5

Re: Backspace is caps lock and backspace.

However, if you do that, it affects all layouts. Furthermore, it still doesn't work correctly. It erases one character at a time. You can't keep it pressed.

Offline

#17 10-May-2008 19:47:45

DreymaR
Member
From: Bærum, Norway
Registered: 13-Dec-2006
Posts: 2,090
Website

Re: Backspace is caps lock and backspace.

that's what "xset -r 66" is for, isn't it?


Better burden you cannot carry than man-wisdom much  --  Hávamál
Check out my Big Bag of Keyboard Tricks! For XKB (Linux) and for PKL (Win).

Offline

#18 11-May-2008 00:47:55

ghen
Member
From: Belgium
Registered: 26-Feb-2008
Posts: 316
Website

Re: Backspace is caps lock and backspace.

DreymaR wrote:

that's what "xset -r 66" is for, isn't it?

That makes the Capslock/Backspace key non-repeating.  You want "xset r 66" (without the dash).

Offline

#19 11-May-2008 01:20:49

SpookyET
Member
Registered: 01-Mar-2008
Posts: 5

Re: Backspace is caps lock and backspace.

Still, it affects all layouts, not just calemak

Offline

#20 11-May-2008 08:49:58

DreymaR
Member
From: Bærum, Norway
Registered: 13-Dec-2006
Posts: 2,090
Website

Re: Backspace is caps lock and backspace.

Yes. It does. Try convincing your friends and family that CapsLock is evil and has to go.


Better burden you cannot carry than man-wisdom much  --  Hávamál
Check out my Big Bag of Keyboard Tricks! For XKB (Linux) and for PKL (Win).

Offline

#21 11-May-2008 12:17:53

ghen
Member
From: Belgium
Registered: 26-Feb-2008
Posts: 316
Website

Re: Backspace is caps lock and backspace.

SpookyET wrote:

Still, it affects all layouts, not just calemak

Yes, in X11 keystroke repeat settings are independent of keyboard layout/keymap settings.

Offline

#22 26-Nov-2010 16:04:33

ruario
New member
From: Oslo, Norway
Registered: 26-Nov-2010
Posts: 1

Re: Backspace is caps lock and backspace.

My work around for Gnome's little issue is a tiny shell script called "capsoff" that contains the following:

#!/bin/sh
xmodmap -e 'keycode 66 = BackSpace' -e 'clear Lock'
xset r 66

I have set this to be run on startup by Gnome. Thus giving the desired behaviour. In case you are wondering why I have used 'keycode 66 = BackSpace' instead of 'keysym Caps_Lock = BackSpace' and 'clear Lock' instead of 'remove Lock = Caps_Lock' it is so that I can run "capsoff" again if I want. Doing it this way I can run "capsoff" again and again without errors. If I use either of the other two options I get "bad keysym in remove modifier list 'Caps_Lock', no corresponding keycodes" on running the script repeatedly.

Why would I want to run it again? ;) Because it re-breaks everytime you change keymaps within Gnome, which unfortunately is something I have to do at the moment since I am still learning Colemak and need access to use Qwerty when I want to type fast.

I actually have two more scripts called "asdf" and "arst". They look as follows.

asdf:

#!/bin/sh
setxkbmap us -variant colemak
capsoff

arst:

#!/bin/sh
setxkbmap no
capsoff

This allows me to just roll my left hand in a terminal and press Enter (Return) to switch layouts. ;)

You'll note that I use a Norwegian Qwerty layout and switch the "Caps" to "Backspace" in this mode as well. However that is fairly easy to change that if you want something else.

Edit: And now I have just read this, which seems to work nicely. However I'll leave my scripts lying around, as it is still handy to switch layouts with a left hand roll. ;)

Last edited by ruario (27-Nov-2010 14:53:45)

Offline

Board footer