• You are not logged in.
  • Index
  • Technical
  • [Solved] What's best way to set Colemak layout in Debian Squeeze?

    [Solved] What's best way to set Colemak layout in Debian Squeeze?

    • Started by penguin
    • 9 Replies:
    • Reputation: 0
    • Registered: 04-Nov-2011
    • Posts: 90

    Hi,

    I'm using Debian Squeeze 6.0.

    I set Colemak as default keyboard layout so that I use Colemak in terminal and Xorg.

    It works but there is a bug, which is few control keys stop working.
    Scroll Lock is dead. Ctrl_R doesn't response in Virtual Box.

    I use a 87 key USB keyboard.

    Last edited by penguin (26-Feb-2013 01:13:17)

    Debian GNU/Linux Jessie NitroType TypeTest

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,364

    I don't use Debian but it sounds to me that either your options or your keyboard model may be set wrongly? Check out your /etc/default/keyboard file if you have one (or xorg.conf failing that) - what does it say on the matter?

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 04-Nov-2011
    • Posts: 90
    DreymaR said:

    I don't use Debian but it sounds to me that either your options or your keyboard model may be set wrongly? Check out your /etc/default/keyboard file if you have one (or xorg.conf failing that) - what does it say on the matter?

    My keyboard has only 87 keys. It's name is Leopold FC200R Tenkeyless.

    $ more /etc/default/keyboard 
    XKBMODEL="pc104"
    XKBLAYOUT="us"
    #XKBLAYOUT="us,ko"
    XKBVARIANT="colemak"
    XKBOPTIONS="terminate:ctrl_alt_bksp"
    $ xinput list
    ⎡ Virtual core pointer                        id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
    ⎜   ↳ Cypress USB Keyboard                        id=9    [slave  pointer  (2)]
    ⎜   ↳ ImPS/2 Generic Wheel Mouse                  id=10    [slave  pointer  (2)]
    ⎜   ↳ Macintosh mouse button emulation            id=11    [slave  pointer  (2)]
    ⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
        ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
        ↳ Power Button                                id=6    [slave  keyboard (3)]
        ↳ Power Button                                id=7    [slave  keyboard (3)]
        ↳ Cypress USB Keyboard                        id=8    [slave  keyboard (3)]
    $ setxkbmap -print
    xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)"    };
        xkb_types     { include "complete"    };
        xkb_compat    { include "complete"    };
        xkb_symbols   { include "pc+us(colemak)+inet(evdev)+terminate(ctrl_alt_bksp)"    };
        xkb_geometry  { include "pc(pc104)"    };
    };
    ~$ xmodmap 
    xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):
    
    shift       Shift_L (0x32),  Shift_R (0x3e)
    lock      
    control     Control_L (0x25),  Control_R (0x69)
    mod1        Alt_L (0x40),  Meta_L (0xcd)
    mod2        Num_Lock (0x4d)
    mod3      
    mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
    mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

    I might remap Scroll Lock. But, I like to set up the keyboard properly.

    Debian GNU/Linux Jessie NitroType TypeTest

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,364

    Maybe the tenkeyless doesn't use the pc104 keycodes? What about pc98 ones? I'm just guessing here.

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 04-Nov-2011
    • Posts: 90

    @DreymaR,

    How dumb I was!! :(

    My brain kept thinking the letter P is on Qwerty layout.
    When I press P which is R on Qwerty, Ctrl+P works.

    Debian GNU/Linux Jessie NitroType TypeTest

    Offline
    • 0
    • Reputation: 0
    • Registered: 04-Nov-2011
    • Posts: 90

    I set Colemak as the system default layout. Also, I changed the keyboard interface to PS/2. Below is the status.

    penguin@theblue:~$ xinput list
    ⎡ Virtual core pointer                        id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
    ⎜   ↳ stylus                                      id=6    [slave  pointer  (2)]
    ⎜   ↳ eraser                                      id=7    [slave  pointer  (2)]
    ⎜   ↳ cursor                                      id=8    [slave  pointer  (2)]
    ⎜   ↳ pad                                         id=9    [slave  pointer  (2)]
    ⎜   ↳ Wacom BambooFun 4x5                         id=12    [slave  pointer  (2)]
    ⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
        ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
        ↳ Power Button                                id=10    [slave  keyboard (3)]
        ↳ Power Button                                id=11    [slave  keyboard (3)]
        ↳ AT Translated Set 2 keyboard                id=13    [slave  keyboard (3)]

    When I log in terminal Scroll_Lock turns on LED light when it's pressed. But, Xorg deactivates it. I ran xev to check it works. It returned
    keycode 78
    keysym 0xff14
    Name Scroll_Lock

    '$ xmodmap -e "add mod3 = Scroll_Lock' or
    '$ xmodmap ~/.xmodmaprc'  in gnome-terminal activates it.

    So I assume putting above code in ~/.xinitrc would activate Scroll_Lock. But it fails to do it. I tried three different methods so far without success.

    xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)"    };
        xkb_types     { include "complete"    };
        xkb_compat    { include "complete"    };
        xkb_symbols   { include "pc+us(colemak)+inet(evdev)+terminate(ctrl_alt_bksp)"    };
        xkb_geometry  { include "pc(pc104)"    };
    };

    When the system default layout was Qwerty, xmodmap remapped keys during Xorg startup.  Under Colemak, it doesn't.

    Debian GNU/Linux Jessie NitroType TypeTest

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,364

    Ugh, I really have no idea and I'm out of my depth here. Your xkb_keymap setup is fine. It doesn't do anything to your ScrlLck that I can see so that's not the issue here.

    I checked the evdev keycodes and they do have

        <SCLK> = 78;

    , which is as it should be. I didn't find any explicit references to the Leopold keyboards in the rules component. Sorry.

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 29-Dec-2010
    • Posts: 30
    penguin said:

    I set Colemak as the system default layout. Also, I changed the keyboard interface to PS/2. Below is the status.

    penguin@theblue:~$ xinput list
    ⎡ Virtual core pointer                        id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
    ⎜   ↳ stylus                                      id=6    [slave  pointer  (2)]
    ⎜   ↳ eraser                                      id=7    [slave  pointer  (2)]
    ⎜   ↳ cursor                                      id=8    [slave  pointer  (2)]
    ⎜   ↳ pad                                         id=9    [slave  pointer  (2)]
    ⎜   ↳ Wacom BambooFun 4x5                         id=12    [slave  pointer  (2)]
    ⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
        ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
        ↳ Power Button                                id=10    [slave  keyboard (3)]
        ↳ Power Button                                id=11    [slave  keyboard (3)]
        ↳ AT Translated Set 2 keyboard                id=13    [slave  keyboard (3)]

    When I log in terminal Scroll_Lock turns on LED light when it's pressed. But, Xorg deactivates it. I ran xev to check it works. It returned
    keycode 78
    keysym 0xff14
    Name Scroll_Lock

    '$ xmodmap -e "add mod3 = Scroll_Lock' or
    '$ xmodmap ~/.xmodmaprc'  in gnome-terminal activates it.

    So I assume putting above code in ~/.xinitrc would activate Scroll_Lock. But it fails to do it. I tried three different methods so far without success.

    xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)"    };
        xkb_types     { include "complete"    };
        xkb_compat    { include "complete"    };
        xkb_symbols   { include "pc+us(colemak)+inet(evdev)+terminate(ctrl_alt_bksp)"    };
        xkb_geometry  { include "pc(pc104)"    };
    };

    When the system default layout was Qwerty, xmodmap remapped keys during Xorg startup.  Under Colemak, it doesn't.

    HI Penguin,

    I think I am in the same boat as you.

    I've a Filco Tenkeyless, so 87 keys, keyboard connected via PS/2 on a Fedora 18 system with Gnome 3.6.  Gnome 3.6 changed a few things from 3.4, namely greater use of ibus I believe. This removed the option to alter the key layout from Language Settings - Options menu.   Now the Options menu in Languages Settings is greyed out and cannot be enabled.

    Currently the keymap shows the 107 keyboard which includes the numberpad.   

    I'd like to set it to native 87 key Colmak layout but its proving a little tricky.

    1.  I'd like to set my Change Keyboard Layout key to Scroll Lock (as it use to be) but is not currently enabled.
    2.  I'd like to have the Scroll Lock LED light up to advise when an alternative layout is being used; which it is not currently doing.
    3.  I'd like to have my 87 Key 'tenkeyless' Filco recognised as an 87 key keyboard and not a 107 key keyboard with some keys that 'just aren't used.'

    How did you manage your setup, and is it working to your satisfaction?

    Thanks.

    Offline
    • 0
    • Reputation: 0
    • Registered: 04-Nov-2011
    • Posts: 90

    I made how to customize Colemak layout. Link is https://wp.me/p1fjgj-tf

    Last edited by penguin (01-Mar-2013 23:58:11)

    Debian GNU/Linux Jessie NitroType TypeTest

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,364

    You really should disable the Caps Lock part of Colemak (in symbols/us) unless you're completely cool with it, and use a symbols/capslock option instead under XKB. Linux is all about the modularity, and the layout shouldn't mess with modifiers unless it has to.

    Last edited by DreymaR (26-Feb-2013 10:45:15)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
      • Index
      • Technical
      • [Solved] What's best way to set Colemak layout in Debian Squeeze?