Code Monkey home page Code Monkey logo

teck's Introduction

This repository hosts the reverse-engineered and modded firmware for the Truly Ergonomic keyboard.

This is for history only. No new work is being done.

If you have a Truly Ergonomic keyboard and want to customize the layout, I suggest that you open it up, chuck the MCU that powers it, and retrofit an MCU that is supported by the free QMK or ZMK firmwares. Be aware that the keyswitch matrix is highly irregularly organized, requiring as many as 26 GPIO pins (18 logical columns by 8 rows), and if you want LEDs, these will occupy 3 more. So a Pro Micro won’t cut it; Arduino Micro, with luck, will only barely be sufficient for the key matrix (no LEDs). Maybe get something RP2040-based, or use shift registers.


Features added by this mod:

  • Table-based Fn and Num Lock layers, customizable independently of the main layer, for both PC and Mac layouts.
  • Up to 23 different media/application launch/application control keys (limit raised from original 13).
  • Media keys no longer confined to the Fn layer.
  • Non-synchronized Num Lock no longer tied to the status of the LED. If you press a Num Lock-sensitive key and your OS Num Lock is off, the firmware will turn it on first and back off when you stop typing.
  • Better debouncing algorithm.
  • Visual web-based configurator.

Removed features:

  • DIP switch–based key translation: HenkanDelete, AppsSpace, Euro2Yen.

Known problems:

  • Non-synchronized Num Lock may be too invasive — it does not provide an easy way to press an affected key without Num Lock turning on. Meaning you can’t play games that expect you to use keypad in arrows mode.
  • You cannot easily turn on MouseKeys (typically [Alt+]Shift+Num Lock). If you do inadvertently turn it on, you cannot easily turn it off. (You might work around this by configuring one of the keys as a real Num Lock.)

teck's People

Contributors

yurikhan avatar

Stargazers

Stephen Wall avatar Ryan Carpenter avatar Ralph Bacolod avatar  avatar AlpineYahoo avatar Daniel avatar Birgit Lexa avatar Fae Hutter avatar Danial Goodwin avatar Matthew Moss avatar  avatar Thomas DU BOYS avatar Mike avatar Seppe Stas avatar  avatar Tae Selene Sandoval Murgan avatar Sergiusz Bleja avatar Aliaksei Sauko avatar Shawon Ashraf avatar Louis avatar Datalight avatar Rich Otero avatar Lucas Yamanishi avatar Shane Delmore avatar Thomas Frössman avatar  avatar Thomas Hume avatar Fabien Ninoles avatar  avatar Erik Strömberg avatar brent avatar Kristoffer Berdal avatar  avatar Andrew Macpherson avatar Jonas Bonér avatar Alexis Benoist avatar Jouke Witteveen avatar Lucien Pereira avatar 5hun Yanaura avatar Dan Baugher avatar Lanny avatar Guillaume Gelin avatar Alexey Bobyakov avatar Pepijn de Vos avatar Daniel Bordak avatar Mattias Lundell avatar Ole Martin Handeland avatar Tom Most avatar  avatar Seth Woodworth avatar ESASHIKA Kaoru avatar Christian Rorvik avatar rekado avatar  avatar  avatar Charles Macanka avatar Adam Gordon Bell avatar Alpha Ho avatar scheakur avatar Oleg Kostyuk avatar Rafael Bodill avatar alberto avatar hasu@tmk avatar Tom Kazimiers avatar Flo J avatar Pierre Bousquié avatar Russell Sim avatar NAKANO, Jun'ichi avatar  avatar TrulyErgonomic avatar

Watchers

rekado avatar Tom Kazimiers avatar Kiyoshi Mizumaru avatar  avatar Peter Kamb avatar 5hun Yanaura avatar Pierre Bousquié avatar  avatar Danial Goodwin avatar Jouke Witteveen avatar alberto avatar Tae Selene Sandoval Murgan avatar  avatar Daniel Bordak avatar TrulyErgonomic avatar Adam Gordon Bell avatar Lanny avatar  avatar  avatar Brent avatar  avatar  avatar

teck's Issues

Add macro configurator

The firmware contains code that looks like a macro engine, which seems to be able to play back any sequence of HID reports with specified delays in between.

Ability to configure the macros and bindings would nicely solve any feature requests that are not implementable in a way that works everywhere and for everyone.

Modify saved layout

I would like to load my current layout into the configurator to modify, rather than reproduce the layout from the defaults. I have the hex file, based on TrulyErgonomic's v4 firmare. Can I do this by adding the hex file to the repository, then selecting it from the configurator? The layout is for TEK 209 and has essentially the defaults for the main layer and Dvorak for the secondary.

OSX Volume+/Volume- behave erratically

Hi,
I'm using the firmware as generated by the version on the TrulyErgonomic site on a couple of 209 keyboards. I (and others) have found that the Vol+/Vol- keys behave erratically. The operating system apparently keeps receiving the keycode, so the volume maxes out or goes to zero. I haven't yet verified if this is the case on Windows. It happens erratically too, sometimes it will work, other times it goes to the end immediately, and it also will do it strangely sometimes.

Dan

Fn + F#-keys problem?

Excess key bounce

It is reported that some users experience excess key bounce, i.e. pressing a key once produces more than one character.

The problem only affects some users, some keyboards and some keys.

If you are affected, please leave a comment here.

Additionally, I need at least one testing volunteer who is:

  • able to reproduce the problem reliably, and
  • comfortable with flashing experimental firmware and rolling back to a previous version.

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.