readme: Fix links
readme: Fix a typo
Initial commit
This repo hosts my Infinity Ergodox layout so I can recall it when needed.
layouts/
dfu-util
from package managerInstall dfu-util
with:
$ emerge app-mobilephone/dfu-util
Then create the file /etc/udev/rules.d/98-kiibohd.rules
$ cat /etc/udev/rules.d/98-kiibohd.rules
# Half-Kay, Kiibohd
SUBSYSTEM=="usb" ATTR{idVendor}=="16c0" ATTR{idProduct}=="04[789]?" ENV{ID_MM_DEVICE_IGNORE}="1" ENV{MTP_NO_PROBE}="1" MODE:="0666"
# Kiibohd Serial Interface
SUBSYSTEM=="tty" ATTRS{idVendor}=="16c0" ATTRS{idProduct}=="04[789]?" SYMLINK+="kiibohd" MODE:="0666"
SUBSYSTEM=="tty" ATTRS{idVendor}=="1c11" ATTRS{idProduct}=="b04d" SYMLINK+="kiibohd" MODE:="0666"
SUBSYSTEM=="tty" ATTRS{idVendor}=="308f" SYMLINK+="kiibohd" MODE:="0666"
# Kiibohd Device
SUBSYSTEM=="usb" ATTR{idVendor}=="1c11" ATTR{idProduct}=="b04d" MODE:="0666"
# Kiibohd Device (Official VID)
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" MODE:="0666"
# DFU Bootloader (MCHCK)
SUBSYSTEM=="usb" ATTR{idVendor}=="2323" ATTR{idProduct}=="0001" ENV{ID_MM_DEVICE_IGNORE}="1" ENV{MTP_NO_PROBE}="1" MODE:="0666"
# Kiibohd DFU Bootloader
SUBSYSTEM=="usb" ATTR{idVendor}=="1c11" ATTR{idProduct}=="b007" ENV{ID_MM_DEVICE_IGNORE}="1" ENV{MTP_NO_PROBE}="1" MODE:="0666"
# Kiibohd DFU Bootloaders (Official VID)
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="0000" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="0003" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="0005" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="000C" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="0010" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="0012" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="0014" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="0016" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
SUBSYSTEM=="usb" ATTR{idVendor}=="308f" ATTR{idProduct}=="0019" ENV{MTP_NO_PROBE}="1" ENV{ID_MM_DEVICE_IGNORE}="1" MODE:="0666"
# Kiibohd Force Gauge
# e.g. udevadm info -a -p /sys/bus/usb/devices/3-5
# sudo udevadm test /sys/bus/usb/devices/3-5:1.0/tty/ttyACM0
# Use ATTR on root, ATTRS on leaves
SUBSYSTEM=="tty" ATTRS{idVendor}=="1c11" ATTRS{idProduct}=="f05c" MODE:="0666" SYMLINK+="force"
SUBSYSTEM=="usb" ATTR{idVendor}=="1c11" ATTR{idProduct}=="f05c" MODE:="0666"
Finally, unzip the configurator tool to a location and
Start the configurator with:
$ ./kiibohd-configurator
It should open the GUI from where you can select the Infinity Ergodox as the keyboard to work with. There should be an "Import Keymap" button that open a text box in which you can paste a JSON of your keyboard layout.
Each side is flashed individually, there's a button on the bottom of each half. The configurator tool has a "FLASH" button that really only compiles the firmware, the keyboard halves must be put in flash mode before any changes can be applied.
You can basically follow the steps here.
The keyboard is basically setup as your standard (US) QWERTY layout with some minor differences when it comes to keys used a lot in programming.
I use the Dvorak layout and typically run:
$ setxkbmap dvorak
$ setxbkmap -option compose:caps
to have (US) Dvorak as the interpreted layout and use CAPS LOCK as the Compose key.
I've considered just hard-coding the keyboard to Dvorak. Then I wouldn't need to
run the setxkbmap dvorak
line every time I plug in the keyboard.