Browse Source
Swap keys using xkb instead of xmodmap
Swap keys using xkb instead of xmodmap
Removed old swap key lines from config and added dir/script to symlink xkb file to lc dir. Fixes issue of having to release keys when starting terminal with xmodmap.red-hat-laptop
Kevin Mok
7 years ago
8 changed files with 120 additions and 44 deletions
-
15aliases/zsh_aliases
-
11configs/set-config-dirs.sh
-
13configs/set-configs.sh
-
3dotfiles/Xresources
-
1dotfiles/vimrc
-
15dotfiles/zshrc
-
87xkb/NZXT-pc
-
11xkb/set-layouts.sh
@ -1,11 +0,0 @@ |
|||||
# Get directory variables from script. |
|
||||
. ../dirs.sh |
|
||||
# List of config dirs in system config dir that I want to link to. |
|
||||
# config_dirs=(neofetch i3 i3blocks sam-i3blocks ranger) |
|
||||
config_dirs=(neofetch i3 i3blocks ranger) |
|
||||
for cur_dir in $config_dirs; do |
|
||||
# Remove system file. |
|
||||
rm -rf "$sys_config_dir"/"$cur_dir" |
|
||||
# Link config file in repository to system config location. |
|
||||
ln -s "$config_dir"/"$pc"/"$cur_dir" "$sys_config_dir"/"$cur_dir" |
|
||||
done |
|
@ -1,12 +1,11 @@ |
|||||
# Get directory variables from script. |
# Get directory variables from script. |
||||
. ../dirs.sh |
. ../dirs.sh |
||||
# List of config files in system config dir that I want to link to. |
|
||||
config_files="neofetch/config.conf i3/config i3blocks/i3blocks.conf "\ |
|
||||
"sam-i3blocks/sam-i3blocks.conf" |
|
||||
for file in $config_files; do |
|
||||
|
# List of config dirs in system config dir that I want to link to. |
||||
|
# config_dirs=(neofetch i3 i3blocks sam-i3blocks ranger) |
||||
|
config_dirs=(neofetch i3 i3blocks ranger) |
||||
|
for cur_dir in $config_dirs; do |
||||
# Remove system file. |
# Remove system file. |
||||
rm "$sys_config_dir"/"$file" |
|
||||
|
rm -rf "$sys_config_dir"/"$cur_dir" |
||||
# Link config file in repository to system config location. |
# Link config file in repository to system config location. |
||||
ln -s "$config_dir"/"$pc"/$(echo "$file" | cut -d'/' -f 1).conf \ |
|
||||
"$sys_config_dir"/"$file" |
|
||||
|
ln -s "$config_dir"/"$pc"/"$cur_dir" "$sys_config_dir"/"$cur_dir" |
||||
done |
done |
@ -0,0 +1,87 @@ |
|||||
|
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> { [ Caps_Lock ] }; |
||||
|
|
||||
|
key <TAB> { [ Tab, ISO_Left_Tab ] }; |
||||
|
key <RTRN> { [ Return ] }; |
||||
|
|
||||
|
key <CAPS> { [ BackSpace, BackSpace ] }; |
||||
|
key <NMLK> { [ Num_Lock ] }; |
||||
|
|
||||
|
key <LFSH> { [ Shift_L ] }; |
||||
|
key <LCTL> { [ Control_L ] }; |
||||
|
key <LWIN> { [ Super_L ] }; |
||||
|
|
||||
|
key <RTSH> { [ Shift_R ] }; |
||||
|
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 ] }; |
||||
|
}; |
@ -0,0 +1,11 @@ |
|||||
|
# Get directory variables from script. |
||||
|
. ../dirs.sh |
||||
|
|
||||
|
xkb_config_file_name="pc" |
||||
|
sys_layout_file="/usr/share/X11/xkb/symbols/$xkb_config_file_name" |
||||
|
xkb_config_dir="$linux_config_dir/xkb" |
||||
|
|
||||
|
# Remove system file. |
||||
|
sudo rm -rf "$sys_layout_file" |
||||
|
# Link config file in repository to system config location. |
||||
|
sudo ln -s "$xkb_config_dir"/"$pc"-"$xkb_config_file_name" "$sys_layout_file" |
Write
Preview
Loading…
Cancel
Save
Reference in new issue