mirror of
https://github.com/rbreaves/kinto.git
synced 2025-08-05 18:38:26 +02:00
- Updated files to no longer use device id's for mac or windows keyboards, only chromebooks will make use of device id's for external keyboards. Closes #5
This commit is contained in:
51
install.py
51
install.py
@@ -25,31 +25,34 @@ def keyboard_detect():
|
|||||||
global internalid, usbid, chromeswap, system_type
|
global internalid, usbid, chromeswap, system_type
|
||||||
internal_kbname = ""
|
internal_kbname = ""
|
||||||
usb_kbname = ""
|
usb_kbname = ""
|
||||||
print()
|
|
||||||
print("Looking for keyboards...")
|
|
||||||
print()
|
|
||||||
result = subprocess.check_output('xinput list | grep -iv "Virtual\|USB" | grep -i "keyboard.*keyboard" | grep -o -P "(?<=↳).*(?=id\=)";exit 0', shell=True).decode('utf-8')
|
|
||||||
if result != "":
|
|
||||||
internal_kbname = result.strip()
|
|
||||||
internalid = subprocess.check_output('xinput list | grep -iv "Virtual\|USB" | grep -i "keyboard.*keyboard" | cut -d "=" -f 2- | awk \'{print $1}\' | tail -1;exit 0', shell=True).decode('utf-8')
|
|
||||||
print("Internal Keyboard\nName: " + internal_kbname + "\nID: " + internalid)
|
|
||||||
|
|
||||||
result = subprocess.check_output('udevadm info -e | grep -o -P "(?<=by-id/usb-).*(?=-event-kbd)" | head -1;exit 0', shell=True).decode('utf-8')
|
# If chromebook
|
||||||
if result != "":
|
if system_type == "2":
|
||||||
usb_kbname = result.strip()
|
print()
|
||||||
|
print("Looking for keyboards...")
|
||||||
|
print()
|
||||||
|
result = subprocess.check_output('xinput list | grep -iv "Virtual\|USB" | grep -i "keyboard.*keyboard" | grep -o -P "(?<=↳).*(?=id\=)";exit 0', shell=True).decode('utf-8')
|
||||||
|
if result != "":
|
||||||
|
internal_kbname = result.strip()
|
||||||
|
internalid = subprocess.check_output('xinput list | grep -iv "Virtual\|USB" | grep -i "keyboard.*keyboard" | cut -d "=" -f 2- | awk \'{print $1}\' | tail -1;exit 0', shell=True).decode('utf-8')
|
||||||
|
print("Internal Keyboard\nName: " + internal_kbname + "\nID: " + internalid)
|
||||||
|
|
||||||
# Loop the following to ensure the id is picked up after 5-10 tries
|
result = subprocess.check_output('udevadm info -e | grep -o -P "(?<=by-id/usb-).*(?=-event-kbd)" | head -1;exit 0', shell=True).decode('utf-8')
|
||||||
usbid = ""
|
if result != "":
|
||||||
usbcount=0
|
usb_kbname = result.strip()
|
||||||
while usbid == "":
|
|
||||||
usbid = subprocess.check_output('udevadm info -e | stdbuf -oL grep -o -P "(?<=event-kbd /dev/input/by-path/pci-0000:00:).*(?=.0-usb)";exit 0', shell=True).decode('utf-8')
|
# Loop the following to ensure the id is picked up after 5-10 tries
|
||||||
if usbid == "":
|
usbid = ""
|
||||||
usbcount += 1
|
usbcount=0
|
||||||
# print('usbid not found '+ str(usbcount))
|
while usbid == "":
|
||||||
if usbcount == 5:
|
usbid = subprocess.check_output('udevadm info -e | stdbuf -oL grep -o -P "(?<=event-kbd /dev/input/by-path/pci-0000:00:).*(?=.0-usb) | head -n 1";exit 0', shell=True).decode('utf-8')
|
||||||
usbid = "0"
|
if usbid == "":
|
||||||
time.sleep(1)
|
usbcount += 1
|
||||||
print("\nUSB Keyboard\n" + "Name: " + usb_kbname + "\nID: " + usbid)
|
# print('usbid not found '+ str(usbcount))
|
||||||
|
if usbcount == 5:
|
||||||
|
usbid = "0"
|
||||||
|
time.sleep(1)
|
||||||
|
print("\nUSB Keyboard\n" + "Name: " + usb_kbname + "\nID: " + usbid)
|
||||||
|
|
||||||
if system_type == "1":
|
if system_type == "1":
|
||||||
system_type = "windows"
|
system_type = "windows"
|
||||||
@@ -120,7 +123,7 @@ sys.stdout.write(reset)
|
|||||||
print()
|
print()
|
||||||
input("Press Enter to begin...")
|
input("Press Enter to begin...")
|
||||||
|
|
||||||
system_type = input("\nWhat type of system are you using?\n\
|
system_type = input("\nWhat type of keyboard are you using? (If Mac and Windows then select Mac)\n\
|
||||||
1) Windows\n\
|
1) Windows\n\
|
||||||
2) Chromebook\n\
|
2) Chromebook\n\
|
||||||
3) Mac\n")
|
3) Mac\n")
|
||||||
|
@@ -53,35 +53,31 @@ while read -r id; do
|
|||||||
if [ $timediff -gt 0 ]; then
|
if [ $timediff -gt 0 ]; then
|
||||||
if [ -n "$class" ]; then
|
if [ -n "$class" ]; then
|
||||||
# Set keymap for terminal, Alt is Super, Ctrl is Ctrl, Super is Alt
|
# Set keymap for terminal, Alt is Super, Ctrl is Ctrl, Super is Alt
|
||||||
if [[ $internalid -gt 0 ]]; then
|
eval "$check_gt"
|
||||||
eval "$check_gt"
|
echo $?
|
||||||
echo $?
|
if [ $? -eq 0 ]; then
|
||||||
if [ $? -eq 0 ]; then
|
echo "internal gui to term"
|
||||||
echo "internal gui to term"
|
eval "$swapcmd_term"
|
||||||
eval "$swapcmd_term"
|
|
||||||
|
|
||||||
# Quick hack, will want to refactor later
|
# Quick hack, will want to refactor later
|
||||||
# just resets required checks, for chromebooks that
|
# just resets required checks, for chromebooks that
|
||||||
# use usb windows keyboards
|
# use usb windows keyboards
|
||||||
if [[ "$swapbehavior" == "both_win" ]]; then
|
if [[ "$swapbehavior" == "both_win" ]]; then
|
||||||
check_gt="setxkbmap -query | grep -q 'ctrl_alt_win'"
|
check_gt="setxkbmap -query | grep -q 'ctrl_alt_win'"
|
||||||
check_tg="setxkbmap -query | grep -v 'ctrl_alt_win' 1>/dev/null"
|
check_tg="setxkbmap -query | grep -v 'ctrl_alt_win' 1>/dev/null"
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# Set keymap for gui, Alt is Ctrl,Super is Alt, Ctrl is Super
|
# Set keymap for gui, Alt is Ctrl,Super is Alt, Ctrl is Super
|
||||||
if [[ $internalid -gt 0 ]]; then
|
eval "$check_tg"
|
||||||
eval "$check_tg"
|
echo $?
|
||||||
echo $?
|
if [ $? -eq 0 ]; then
|
||||||
if [ $? -eq 0 ]; then
|
echo "internal term to gui"
|
||||||
echo "internal term to gui"
|
eval "$swapcmd_gui"
|
||||||
eval "$swapcmd_gui"
|
if [ $? -eq 0 ] && [[ "$swapbehavior" == "both_win" ]]; then
|
||||||
if [ $? -eq 0 ] && [[ "$swapbehavior" == "both_win" ]]; then
|
eval "$fallbackcmd_gui"
|
||||||
eval "$fallbackcmd_gui"
|
check_gt="setxkbmap -query | grep -v 'swap_alt_win' 1>/dev/null"
|
||||||
check_gt="setxkbmap -query | grep -v 'swap_alt_win' 1>/dev/null"
|
check_tg="setxkbmap -query | grep -q 'swap_alt_win'"
|
||||||
check_tg="setxkbmap -query | grep -q 'swap_alt_win'"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user