- Added test.py file to confirm proper modifiers for 3 different keyboard configurations, Chromebooks, Windows, and Mac.

This commit is contained in:
Ryan Reaves
2019-07-28 15:47:07 -05:00
parent 31ddec584f
commit c48a38c7f5

293
test.py Executable file
View File

@@ -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()