GithubHelp home page GithubHelp logo

bezmi / keyplus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ahtn/keyplus

0.0 2.0 0.0 13.55 MB

An easy to use, wired and wireless modular keyboard firmware

License: MIT License

Batchfile 0.01% Python 30.94% Common Lisp 0.02% Makefile 3.07% C 62.89% Assembly 2.64% Shell 0.35% M4 0.07%

keyplus's Introduction

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:

git clone https://github.com/ahtn/keyplus
git checkout v0.3.0

Next, install the packages avr-gcc, avr-libc, avr-binutils, python3, make, hidapi or libhidapi-dev, and python3-pyqt5.

Then, install the python dependencies:

pip install -U --user keyplus

Also, you need to initialize the git submodules:

cd keyplus
git submodule update --init --recursive

Now, you can run the program:

cd host-software
sudo python3 keyplus_flasher.py

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.