From c48a38c7f5c63ef9288e0a7ebd93e0d2e0f842b5 Mon Sep 17 00:00:00 2001 From: Ryan Reaves Date: Sun, 28 Jul 2019 15:47:07 -0500 Subject: [PATCH] - Added test.py file to confirm proper modifiers for 3 different keyboard configurations, Chromebooks, Windows, and Mac. --- test.py | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 293 insertions(+) create mode 100755 test.py diff --git a/test.py b/test.py new file mode 100755 index 0000000..1120a13 --- /dev/null +++ b/test.py @@ -0,0 +1,293 @@ +# pip3 install pynput +# pip3 install --no-deps pynput + +from pynput.keyboard import Key, Listener +import sys + +class color: + PURPLE = '\033[95m' + CYAN = '\033[96m' + DARKCYAN = '\033[36m' + BLUE = '\033[94m' + GREEN = '\033[92m' + YELLOW = '\033[93m' + RED = '\033[91m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + END = '\033[0m' + +def on_press(key): + print('{0} pressed'.format(key)) + +def on_release(key): + # print('{0} release'.format(key)) + if key == Key.esc: + # Stop listener + return False + +def is_ctrl_winchrome(key): + if key == Key.ctrl: + # print(str(key).replace("Key.", "").title() +' successfully mapped to physical Alt key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Alt is now Ctrl') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Alt key.'.format(key)) + return False + +def is_ctrl_mac(key): + if key == Key.ctrl: + # print(str(key).replace("Key.", "").title() +' successfully mapped to physical Alt key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Command is now Ctrl') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Command key.'.format(key)) + return False + +def is_ctrl_terminal(key): + if key == Key.ctrl: + # print(str(key).replace("Key.", "").title() +' successfully mapped to physical Ctrl key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Ctrl remains Ctrl,\nwhile in terminal apps.') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Ctrl key.'.format(key)) + return False + +def is_alt_chromebook(key): + if key == Key.alt: + # print(str(key).replace("Key.", "").title() +' successfully mapped to the physical Ctrl key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Ctrl is now Alt') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Ctrl key.'.format(key)) + return False + +def is_alt_windows(key): + if key == Key.alt: + # print(str(key).replace("Key.", "").title() +' successfully mapped to the physical Ctrl key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Win/Super is now Alt') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Win/Super key.'.format(key)) + return False + +def is_alt_mac(key): + if key == Key.alt: + # print(str(key).replace("Key.", "").title() +' successfully mapped to the physical Ctrl key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Alt remains Alt') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Alt key.'.format(key)) + return False + +def is_alt_chromebook_terminal(key): + if key == Key.alt: + # print(str(key).replace("Key.", "").title() +' successfully mapped to the physical Search key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Search is now Alt,\nwhile in terminals apps.') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Search key.'.format(key)) + return False + +def is_super_winmac(key): + if key == Key.cmd: + # print('Super/Win successfully mapped to the physical Search key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Ctrl key is Super/Win') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Ctrl key.'.format(key)) + return False + +def is_super_chromebook(key): + if key == Key.cmd: + # print('Super/Win successfully mapped to the physical Search key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Search key is Super/Win') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Alt key.'.format(key)) + return False + +def is_super_terminal(key): + if key == Key.cmd: + # print('Super/Win successfully mapped to the physical Alt key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Alt is now Super/Win,\nwhile in terminal apps.') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Alt key.'.format(key)) + return False + +def is_super_mac_terminal(key): + if key == Key.cmd: + # print('Super/Win successfully mapped to the physical Alt key.'.format(key)) + print(color.GREEN + 'Success' + color.END + ' Command is now Super/Win,\nwhile in terminal apps.') + return False + elif key == Key.esc: + return False + else: + print('keymap failure, ' + str(key).replace("Key.", "").title() + ' may have been mapped to the physical Command key.'.format(key)) + return False + +def chromebook_keys_gui(): + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Alt" + color.END + " key to confirm the new keymapping to Ctrl..") + with Listener( + # on_press=on_press, + on_release=is_ctrl_winchrome) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Ctrl" + color.END + " key to confirm the new keymapping to Alt..") + with Listener( + # on_press=on_press, + on_release=is_alt_chromebook) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Search" + color.END + " key to confirm the new keymapping to Super/Win..") + with Listener( + # on_press=on_press, + on_release=is_super_chromebook) as listener: + listener.join() + +def chromebook_keys_terminal(): + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Alt" + color.END + " key to confirm the new keymapping to Super/Win..") + with Listener( + # on_press=on_press, + on_release=is_super_terminal) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Ctrl" + color.END + " key to confirm the new keymapping to Ctrl..") + with Listener( + # on_press=on_press, + on_release=is_ctrl_terminal) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Search" + color.END + " key to confirm the new keymapping to Alt..") + with Listener( + # on_press=on_press, + on_release=is_alt_chromebook_terminal) as listener: + listener.join() + +def windows_keys_gui(): + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Alt" + color.END + " key to confirm the new keymapping to Ctrl..") + with Listener( + # on_press=on_press, + on_release=is_ctrl_winchrome) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Win/Super" + color.END + " key to confirm the new keymapping to Alt..") + with Listener( + # on_press=on_press, + on_release=is_alt_windows) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Ctrl" + color.END + " key to confirm the new keymapping to Win/Super..") + with Listener( + # on_press=on_press, + on_release=is_super_winmac) as listener: + listener.join() + +def windows_keys_terminal(): + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Alt" + color.END + " key to confirm the new keymapping to Super/Win..") + with Listener( + # on_press=on_press, + on_release=is_super_terminal) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Win/Super" + color.END + " key to confirm the new keymapping to Alt..") + with Listener( + # on_press=on_press, + on_release=is_alt_windows) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Ctrl" + color.END + " key to confirm the new keymapping to Ctrl..") + with Listener( + # on_press=on_press, + on_release=is_ctrl_terminal) as listener: + listener.join() + +def mac_keys_gui(): + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Command" + color.END + " key to confirm the new keymapping to Ctrl..") + with Listener( + # on_press=on_press, + on_release=is_ctrl_mac) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Alt" + color.END + " key to confirm it remains Alt..") + with Listener( + # on_press=on_press, + on_release=is_alt_mac) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Ctrl" + color.END + " key to confirm the new keymapping to Win/Super..") + with Listener( + # on_press=on_press, + on_release=is_super_winmac) as listener: + listener.join() + +def mac_keys_terminal(): + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Command" + color.END + " key to confirm the new keymapping to Super/Win..") + with Listener( + # on_press=on_press, + on_release=is_super_mac_terminal) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Alt" + color.END + " key to confirm it remains Alt..") + with Listener( + # on_press=on_press, + on_release=is_alt_mac) as listener: + listener.join() + print() + print(color.UNDERLINE + color.YELLOW + "Press the physical Ctrl" + color.END + " key to confirm it remains Ctrl..") + with Listener( + # on_press=on_press, + on_release=is_ctrl_terminal) as listener: + listener.join() + +# reset setxkbmap -option + +# xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.gui $DISPLAY +# print("Testing chromebook - GUI apps - Kinto keymapping...") +# chromebook_keys_gui() + +# setxkbmap -option altwin:swap_lalt_lwin +# print("Testing chromebook - terminal - Kinto keymapping...") +# chromebook_keys_terminal() + +# setxkbmap -option altwin:ctrl_alt_win +# print ("Testing windows keyboard - GUI apps - Kinto keymapping...") +# windows_keys_gui() + +# setxkbmap -option altwin:swap_alt_win +# print ("Testing windows keyboard - terminal - Kinto keymapping...") +# windows_keys_terminal() + +# setxkbmap -option ctrl:swap_lwin_lctl +# print ("Testing mac keyboard - GUI apps - Kinto keymapping...") +# mac_keys_gui() + +# setxkbmap -option +# print ("Testing windows keyboard - terminal - Kinto keymapping...") +# mac_keys_terminal() \ No newline at end of file