From 9dc026695b4fe6aca68b06c3b2f66206fc617401 Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Mon, 17 Feb 2020 13:51:46 -0600 Subject: [PATCH] - Fixed chrome keymap issue with xkb and no looping issues --- .xkb/symbols/mac_gui | 14 ++++++++++++++ setup.py | 4 +++- user_config.json | 4 ++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.xkb/symbols/mac_gui b/.xkb/symbols/mac_gui index d05bd9e..9d32f16 100644 --- a/.xkb/symbols/mac_gui +++ b/.xkb/symbols/mac_gui @@ -30,3 +30,17 @@ default partial xkb_symbols "mac_levelssym" { // actions[Group1]= [ NoAction(), NoAction(), RedirectKey(key=,clearmods=Control)] // }; }; +partial xkb_symbols "mac_chrome" { + // Back Button + replace key { + type[Group1]= "ONE_LEVEL_CTRL", + symbols[Group1]= [ Left, Left, Left ], + actions[Group1]= [ NoAction(), NoAction(), RedirectKey(key=,modifiers=Mod1,clearmods=Control)] + }; + // Forwards Button + replace key { + type[Group1]= "ONE_LEVEL_CTRL", + symbols[Group1]= [ Right, Right, Right ], + actions[Group1]= [ NoAction(), NoAction(), RedirectKey(key=,modifiers=Mod1,clearmods=Control)] + }; +}; \ No newline at end of file diff --git a/setup.py b/setup.py index 587b493..ea9867a 100755 --- a/setup.py +++ b/setup.py @@ -123,6 +123,7 @@ if os.path.isdir(homedir + "/.xkb/keymap") == False: os.system('setxkbmap -option') os.system('setxkbmap -print > ~/.xkb/keymap/kbd.mac.gui') os.system('setxkbmap -print > ~/.xkb/keymap/kbd.mac.gui.nw') +os.system('setxkbmap -print > ~/.xkb/keymap/kbd.mac.gui.chrome') os.system('setxkbmap -print > ~/.xkb/keymap/kbd.mac.term') time.sleep(0.5) @@ -135,6 +136,7 @@ cmdline('sed -i '' -e "' + types_gui_line + 's/\\"/' + keyboardconfigs[defaultkb cmdline('sed -i '' -e "' + symbols_term_line + 's/\\"/' + keyboardconfigs[defaultkb-1]['xkb_symbols_term'] + '\\"/2" ~/.xkb/keymap/kbd.mac.term') cmdline('sed -i '' -e "' + symbols_gui_line + 's/\\"/' + keyboardconfigs[defaultkb-1]['xkb_symbols_gui'].replace("+mac_gui(mac_levelssym)","") + '\\"/2" ~/.xkb/keymap/kbd.mac.gui.nw') +cmdline('sed -i '' -e "' + symbols_gui_line + 's/\\"/' + keyboardconfigs[defaultkb-1]['xkb_symbols_gui'].replace("+mac_gui(mac_levelssym)","+mac_gui(mac_chrome)") + '\\"/2" ~/.xkb/keymap/kbd.mac.gui.chrome') cmdline('sed -i '' -e "' + types_gui_line + 's/\\"/' + keyboardconfigs[defaultkb-1]['xkb_types_gui'] + '\\"/2" ~/.xkb/keymap/kbd.mac.gui.nw') @@ -190,7 +192,7 @@ if len(defaultde) != 0: user_config['config'][0]['run'] = keyboardconfigs[defaultkb-1]['gui'] user_config['config'][1]['run'] = keyboardconfigs[defaultkb-1]['term'] user_config['config'][2]['run'] = keyboardconfigs[defaultkb-1]['gui'] -user_config['config'][3]['run'] = keyboardconfigs[defaultkb-1]['gui'].replace("kbd.mac.gui","kbd.mac.gui.nw") +user_config['config'][3]['run'] = keyboardconfigs[defaultkb-1]['gui'].replace("kbd.mac.gui","kbd.mac.gui.chrome") os.remove(user_file) with open(user_file, 'w') as f: diff --git a/user_config.json b/user_config.json index 31e42cb..754ecf0 100644 --- a/user_config.json +++ b/user_config.json @@ -31,8 +31,8 @@ { "name": "chrome", "run": "", - "run_onInput": "killall xbindkeys > /dev/null 2>&1;xbindkeys -f $HOME/.config/kinto/.chrome-ww", - "run_offInput": "killall xbindkeys > /dev/null 2>&1;xbindkeys -f $HOME/.config/kinto/.chrome-nw", + "run_onInput": "xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.gui $DISPLAY", + "run_offInput": "xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.gui.chrome $DISPLAY", "symbols": "", "types": "", "de": [],