Laman

Change Keyboard or Remap or Swap Keyboard in linux

 if want to change or remap keyboard function in linux :

edit file  /usr/share/X11/xkb/symbols/pc

example:

default  partial alphanumeric_keys modifier_keys

xkb_symbols "pc105" {


    key <ESC>  { [ Escape ] };


    // The extra key on many European keyboards:

    key <LSGT> { [ less, greater, bar, brokenbar ] };


    // The following keys are common to all layouts.

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

    key <SPCE> { [ space ] };


    include "srvr_ctrl(fkey2vt)"

    include "pc(editing)"

    include "keypad(x11)"


    key <BKSP> { [ BackSpace, BackSpace ] };


    key  <TAB> { [ Tab, ISO_Left_Tab ] };

    key <RTRN> { [ Shift_R ] };


    key <CAPS> { [ Caps_Lock ] };

    key <NMLK> { [ Num_Lock ] };


    key <LFSH> { [ Shift_L ] };

    key <LCTL> { [ Control_L ] };

    key <LWIN> { [ Super_L ] };


    key <RTSH> { [ Return ] };

    key <RCTL> { [ Control_R ] };

    key <RWIN> { [ Super_R ] };

    key <MENU> { [ Menu ] };


    // Beginning of modifier mappings.

    modifier_map Shift  { Shift_L, Shift_R };

    modifier_map Lock   { Caps_Lock };

    modifier_map Control{ Control_L, Control_R };

    modifier_map Mod2   { Num_Lock };

    modifier_map Mod4   { Super_L, Super_R };


    // Fake keys for virtual<->real modifiers mapping:

    key <LVL3> { [ ISO_Level3_Shift ] };

    key <MDSW> { [ Mode_switch ] };

    modifier_map Mod5   { <LVL3>, <MDSW> };


    key <ALT>  { [ NoSymbol, Alt_L ] };

    include "altwin(meta_alt)"


    key <META> { [ NoSymbol, Meta_L ] };

    modifier_map Mod1   { <META> };


    key <SUPR> { [ NoSymbol, Super_L ] };

    modifier_map Mod4   { <SUPR> };


    key <HYPR> { [ NoSymbol, Hyper_L ] };

    modifier_map Mod4   { <HYPR> };

    // End of modifier mappings.


    key <OUTP> { [ XF86Display ] };

    key <KITG> { [ XF86KbdLightOnOff ] };

    key <KIDN> { [ XF86KbdBrightnessDown ] };

    key <KIUP> { [ XF86KbdBrightnessUp ] };

};


hidden partial alphanumeric_keys

xkb_symbols "editing" {

    key <PRSC> {

type= "PC_ALT_LEVEL2",

symbols[Group1]= [ Print, Sys_Req ]

    };

    key <SCLK> { [  Scroll_Lock ] };

    key <PAUS> {

type= "PC_CONTROL_LEVEL2",

symbols[Group1]= [ Pause, Break ]

    };

    key  <INS> { [  Insert ] };

    key <HOME> { [  Home ] };

    key <PGUP> { [  Prior ] };

    key <DELE> { [  Delete ] };

    key  <END> { [  End ] };

    key <PGDN> { [  Next ] };


    key   <UP> { [  Up ] };

    key <LEFT> { [  Left ] };

    key <DOWN> { [  Down ] };

    key <RGHT> { [  Right ] };

};