Skip to content

Instantly share code, notes, and snippets.

@itsdsk
Created March 26, 2022 16:50
Show Gist options
  • Save itsdsk/8d787c3a6cb71872a9015bbb34167c2c to your computer and use it in GitHub Desktop.
Save itsdsk/8d787c3a6cb71872a9015bbb34167c2c to your computer and use it in GitHub Desktop.
#!/bin/bash
internal_name="AT Translated Set 2 Keyboard"
internal_id=$(LANG=C xinput list | grep -i "$internal_name" | egrep -o 'id=[0-9]+' | egrep -o '[0-9]+')
if [ -z "$internal_id" ]; then
echo "Could not find internal keyboard"
else
setxkbmap -device $internal_id -layout gb
# echo "Internal keyboard layout updated"
fi
external_name="Logitech Ergo K860"
# external_name="K860"
external_id=$(LANG=C xinput list | grep key | grep -i "$external_name" | egrep -o 'id=[0-9]+' | egrep -o '[0-9]+')
if [ -z "$external_id" ]; then
# echo "Could not find external keyboard on USB receiver"
external_name="ERGO K860 Keyboard"
external_id=$(LANG=C xinput list | grep key | grep -i "$external_name" | egrep -o 'id=[0-9]+' | egrep -o '[0-9]+')
if [ -z "$external_id" ]; then
echo "Could not find external keyboard on Bluetooth or USB receiver"
else
setxkbmap -device $external_id -layout se
echo "External keyboard layout updated (Bluetooth)"
fi
else
setxkbmap -device $external_id -layout se
echo "External keyboard layout updated (USB receiver)"
exit
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment