bilbofroggins / KarabinerKeyboard

A layer-based alternative to Karabiner Elements UI
The Unlicense
41 stars 0 forks source link

An alternate UI for Karabiner-Elements

app-screenshot

Overview

Karabiner Keyboard is a user interface designed to simplify the customization of keyboard configurations using Karabiner-Elements. It eliminates the need to manually edit JSON files by providing a friendly UI for writing configurations directly to the Karabiner-Elements JSON file. This tool took inspiration from qmk, where users can adjust their keyboard settings through layers without diving into complex key overrides.

Instructions

For the latest release, please check the Releases section of this repository. Download & extract the zip file. The app stores a yaml file behind the scenes within ~/.config/karabiner_keyboard that gets translated into a karabiner config rule called "KBKeyboard" underneath complex modifications.

From the Keyboard panel, press the keys you want to change, or click on the key. You can currently either set to Keybinding, which will allow you to override the key with a single sequence or an array of "to" sequences you can type in. You can also pick the layer type, which has a few types to it:

Then click "Merge to config" in the top right to merge it to the Karabiner-Elements config file, and you should be good to go!

Limitations

English only hardcoded default keyboard at the moment Shell commands not added yet Some assumptions are made

Prerequisites

Before using Better Keyboard UI, ensure that Karabiner-Elements is installed on your machine.

Contributing

Development - Running the app

pip3 install poetry
poetry shell
python3 src/main.py

Building for distribution

pip3 install poetry
poetry shell
poetry install
poetry run bundle-app