Skip to content

julianschuler/concavum-customizer

Repository files navigation

Concavum customizer

An image of the UI of the customizer

Overview

This repository contains the source code of the interactive customizer for the Concavum, a fully parametric split keyboard featuring an ergonomic layout with ortholinear (non-staggered) columns and concave key wells. The customizer allows for changing all kinds of parameters like the number of columns, rows and thumb keys, the curvature, the distance between keys and many more.

To get started, head over to the latest release and download the executable for your operating system. If your operating system is not supported or you want to run the latest development version instead, follow the instructions in the next section.

Building the customizer from source

Start by cloning the repository and installing rust. Run the customizer using the following:

cargo run --release

Running the customizer in a browser (experimental)

There is experimental support for running the customizer in the browser. You can find the latest version of the customizer deployed at https://julianschuler.github.io/concavum-customizer.

Note: Due to the current lack of multithreading support in WebAssembly, reloading the model can be easily more than 10x slower when running in the browser compared to running natively.

To run the web version locally, start by building the code using wasm-pack:

wasm-pack build customizer_wasm --target no-modules --out-dir ../web/pkg --no-typescript --no-pack

The files in the web subfolder can now be served using any HTTP server, e.g. if you have Python installed:

python -m http.server -b localhost -d web

For the above example, the customizer should now be accessible under http://localhost:8000.

License

This project is licensed under the GNU GPLv3 license, see LICENSE.txt for further information.