GithubHelp home page GithubHelp logo

brunochevalier / chrysalis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from keyboardio/chrysalis

0.0 2.0 0.0 20.59 MB

Graphical configurator for Kaleidoscope-powered keyboards

Home Page: https://github.com/keyboardio/Chrysalis#chrysalis

License: GNU General Public License v3.0

Shell 1.40% JavaScript 97.80% Python 0.46% CSS 0.34%

chrysalis's Introduction

Chrysalis

Chrysalis screenshot

Downloads

Latest production builds Latest development builds

About

Chrysalis is a graphical configurator for Kaleidoscope-powered keyboards. While still under development, it is already usable for a number of tasks. To try it, you don't even need to flash Kaleidoscope beforehand, Chrysalis can do that for you, as it ships with reasonable default firmware for each supported board.

The primary purpose of the application is to allow one to configure their keyboard without having to compile or flash firmware, by storing the configuration on the keyboard itself, in EEPROM. There are no external tools required, just Chrysalis itself.

Features

  • Layout editor to edit the keymap on-the-fly, with the ability to copy one layer to another, and to set a default one.
  • Colormap editor to edit the per-key LED colormap on boards that support it.
  • Firmware upgrade to upload either the default, Chrysalis-enabled firmware that ships with the application, or a custom one.

Supported Hardware

Chrysalis supports the Keyboardio Model01, the Keyboardio Model100 and the Keyboardio Atreus.

The original Atreus, the ErgoDox EZ (and any other keyboard wired like it), and the SOFT/HRUF Splitography keyboards are also supported, as long as they run suitable firmware.

Supported operating systems

Chrysalis is primarily developed under Linux, but we target all three major operating systems, and test our releases on Windows and macOS too. That said, our testing is done on Ubuntu 18.04 LTS, Windows 10, and macOS Mojave.

The protocol Chrysalis uses to communicate with the keyboard requires USB serial support, which is known to be problematic on Windows prior to Windows 10.

Installation

From installer packages

Choose whether to install the production release, or a development snapshot from the links above, and from the release page, select the installer appropriate for your operating system.

macOS Homebrew

brew update && brew upgrade
brew install --cask chrysalis

Reporting issues

Chrysalis is alpha quality software. There will be bugs, missing features and non-obvious things. Reporting any and all of these help us make the software better, please feel free to open issues liberally!

Using custom firmware

While Chrysalis comes bundled with supported firmware files, it also supports custom firmware, as long as it has a few Kaleidoscope plugins enabled: FocusSerial to make it possible to communicate with the keyboard in the first place, EEPROM-Settings to be able to store configuration in EEPROM. The FocusSerial plugin provides multiple plugins, and Chrysalis needs Focus, FocusEEPROMCommand, and FocusSettingsCommand all enabled in the custom firmware's KALEIDOSCOPE_INIT_PLUGINS().

Additionally, for Chrysalis to be able to edit the keymap, the EEPROM-Keymap plugin is also required. Similarly, to configure the colormap, the custom firmware will need to have the Colormap plugin enabled.

If none of the bundled firmwares suit you, and you wish to customise them, or build one from scratch, you can do that, and doing so is fully supported!

Development

To launch the development environment, simply type yarn && yarn start. To do a production build, use yarn run build:all, or limit it to a particular OS: yarn run build:linux, yarn run build:mac or yarn run build:win. See the scripts section of package.json for more scripts.

Debugging

There are sample ENV file & debugging configurations provided in the dev/sample directory. There is also an example launch.json for VSCode under the .vscode directory under dev/sample/.vscode/launch.json. To debug the main process, you may wish to launch from an IDE (without using the above in a terminal), configurations for VSCode are provided. If using the launch or compound configurations, the timeout properties must allow enough time for the app to fully launch before the debugger(s) stop trying. In the case of compound, this applies to the renderer and main process debugger.

Note: The ports defined in your .env.development & your debugging configuration must match.

chrysalis's People

Contributors

algernon avatar obra avatar tretuna avatar 0957758592 avatar dependabot[bot] avatar pm0u avatar dbjorge avatar thepauljones avatar jaslong avatar magickriss avatar mattvenn avatar rom1detroyes avatar skeet70 avatar netpro2k avatar turekbot avatar brow avatar thebaronhimself avatar star-szr avatar rodrigoroarodriguez avatar qayshp avatar gedankenexperimenter avatar micahbf avatar markis avatar replicajunction avatar jwillikers avatar alerque avatar thunderkeys avatar andreasjacobsen avatar

Watchers

James Cloos avatar  avatar

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.