Skip to content

flinguenheld/rusty_chew

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is the rustenuine firmware for the Chew keyboard!

It performs some cool hacks that keyboard enthusiasts love:

  • Layers
    • Set default
    • Activated as long as a key is held down (the best ❤️)
    • Dead key style (activated until another key is pressed)
  • Homerows
    • Hold down to activate a modifier
    • Press to print a regular key
  • Combos
    • Two keys pressed at once result in a third one
  • Leader key
    • Once activated, it allows you to hit a sequence (3 keys max) to produce another key
    • Leave it with Escape or a wrong key
  • Macros
    • One key can produce a chain of keys (e.g. to automate accents or email addresses)
  • Mouse emulation
  • No mods
    • Prevent modifiers with specific keys (e.g. no shifted symbols)
  • Caplock
    • Deactivated by itself or Escape

Layout

Here's my current layout which uses the US international extended keymap.
The letter positions come from Ergo-L which is the best French layout.

Flash

Clone this repo:

  git clone https://github.com/flinguenheld/rustychew

Then, hold down the controller's boot button and plug in the usb cable.
Mount the controller's drive and use one of these commands:

Mono
  cargo run --release --bin mono
Split with the 0xCB-Gemini controller

This controller has a vbus detection that allows the keyboard to know which side is connected to the computer.
Therefore once you have flashed both sides with the split command, you'll be able to use any of them as master.

  cargo run --release --bin split
Split with the RP2040-Zéro controller

For this one, the position of the master is fixed, you have to make your choice and flash both side with one of these commands:

  cargo run --release --bin split --features master
  cargo run --release --bin split --features slave

Thanks

Rusty Chew uses the usbd-human-interface-device crate which simplifies the usb management a lot ❤️.
Also the pio-uart which allowed me to create a UART half-duplex protocol.
And the rp-hal-boards that I used as a base to use the RP2040-zero controller.

Releases

No releases published

Packages

No packages published

Languages