Create and set custom keyboard layout

I want to create and set a custom keyboard layout with setxkbmap. I created a file in ~/.xkb/prog with this content:

partial default alphanumeric_keys
xkb_symbols "basic" {

include "latin(type4)"

name[Group1]="es for developers";

key <AE01> {[           1,           exclam,    exclamdown,          bar   ]};    
key <AD03> {[           e,                E,      EuroSign,     sterling   ]};
key <AB06> {[           n,                N,        ntilde,       Ntilde   ]};    
key <AB07> {[           m,                M,            mu,           mu   ]};    
key <AB10> {[       slash,         question,  questiondown,    dead_hook   ]};

include "level3(ralt_switch)"

And I tried to load it with setxkbmap -I$HOME/.xkb "prog", but I get a ‘Error loading new keyboard description’

I also tried it with setxkbmap -I$HOME/.xkb "prog" -print | xkbcomp -I$HOME/.xkb - $DISPLAY, but I get this error: ‘Can’t find file “prog” for symbols include’

Asked By: José Luis


Try that last one, i.e.:

% setxkbmap prog -print | xkbcomp -I$HOME/.xkb - $DISPLAY

But put your layout in ~/.xkb/symbols/prog (note the symbols subdirectory).

Answered By: angus
Categories: Answers Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.