ahtn / keyplus

An easy to use, wired and wireless modular keyboard firmware
MIT License
246 stars 40 forks source link

keyplus

Build Status

Keyplus aims to be an easy to use keyboard firmware with support for wireless and wired split keyboards.

Currently in beta so lots of stuff still might change.

Download

Stable releases (recommended)

Latest builds on Keyplus CI

Keyplus Flasher GUI

Setup instructions

Windows

Just download the EXE file.

Linux

Clone the repository and submodules:

git clone https://github.com/ahtn/keyplus
git checkout v0.3.3 # or master for the latest version
cd keyplus
git submodule update --init --recursive

Next install the packages avr-gcc, avr-libc, avr-binutils, make, libhidapi-dev, libevdev-dev, libudev-dev, python3, python3-pip, python3-pyqt5.

Next install python dependencies by running:

pip3 install -U keyplus

Now you should be able to run the program:

cd host-software
sudo ./keyplus_flasher.py

NOTE: if you are having issues with missing python dependencies, make sure that they were installed with pip3 because python2.7 is not supported.

Flashing without sudo on Linux

To connect USB devices on Linux without using sudo, you need to add the appropriate udev rules to set their permissions. To do this run the following commands from the keyplus directory:

sudo cp host-software/etc/udev/rules.d/50-keyplus.rules /etc/udev/rules.d/50-keyplus.rules
sudo udevadm control --reload-rules
sudo udevadm trigger

You also will need to unplug and reconnect the USB device you want to use.

Using the GUI

When starting with a new keyplus mini board, flash the latest firmware, configure the device and RF, and configure the layout, in that order.

Flashing the firmware

Download the latest firmware from the releases page. In the drop down box at the top of the window, select "Firmware Update". Then, click the "Browse" button and select the firmware file you downloaded. Plug in your keyplus mini (or other compatible board), and you should see it appear in the bottom box.

The box

Click the "Program" button, and it should flash the firmware onto the board. If it gives an error, try again.

Configure the device and RF

In the drop down box at the top of the window, select "Device and RF". Then, click "Generate new RF settings", and save the file somewhere. Click the "Browse" button next to the "Layout settings file" box, and select your layout YAML file. Input your device ID, and click the program button that is next to the board you want to program. If it doesn't work, try again.

To make the layout file, see here.

Configure the layout

In the drop down box at the top of the window, select "Layout". Click the "Browse" button next to the "Layout settings file" box, and select your layout YAML file. Click the program button that is next to the board you want to program. If it doesn't work, try again.

Keyplus CLI

Setup instructions

TODO

Building

Currently building of the firmware has been tested on Linux.

Layout files

For more information about layout file format see here.

Hardware files

For more information about the hardware see this link.

License

The keyplus source code is released under the MIT software.

Although the code in this project can be used with Logitech products it is in no way endorsed by or affiliated with Logitech.