Our keyboards are different. That's probably why you got one. But that also means there is a learning curve: Getting used to your new keyboard takes time and practice.
Live Training is here to help. With Live Training, you get an interactive view of your layout, as you use it:
Live Training shows everything from individual keystrokes, to multiple keys pressed at the same time, to layer changes. You get a complete view of your layout, as you use it.
You can start Live Training and switch to a different window. It'll keep working, and you can use the interactive keymap as a reference. This is great when just starting out, and for developing muscle memory for layout changes you make over time.
Getting Started with Live Training
Live Training uses the WebHID standard, which is currently supported by Google Chrome and other Chromium-based browsers like Brave, for example. It works on Windows, macOS, and Linux with a bit of additional configuration. It requires no drivers and no administrative privileges. Live Training does not work on ChromeOS, unfortunately, due to security limitations built into the OS. It will also not work on Windows 7 and other legacy operating systems that are past official EOL ("End of Life") such as OS/2 Warp, etc.
-
Using Google Chrome or another Chromium-based browser (if your browser isn't working, try Google Chrome), click the Train link on the Oryx navigation bar:
-
Click Start training, and follow the on-screen prompts.
-
That's all there is to it! You can now choose between the various training modes.
If you're a new user, it's a good idea to practice for 10-15 minutes, twice a day. You'll be up to speed in no time!
More Live Training posts
This was originally written in 2019, and updated in mid-2022 to simplify the connection procedure. This also seemed like a good time to link to several other posts we've written about Live Training, as we've introduced new features over the years:
Frequently Asked Questions
How does this work?
Live Training uses webHID technology, which allows the browser to directly communicate with the keyboard once you initiate the connection.
Is this a keylogger?
No. Live Training does not send any information about the characters being printed. The protocol only sends the physical positions of the keys being pressed.
Is it open-source?
The code that runs on the keyboard is open-source, and available to review and use here.
Will Live Training work with layouts compiled locally, outside of Oryx?
In order for Live Training to display your layout, the layout data must be stored in Oryx. If you compiled your layout locally, Live Training will not work, since Oryx doesn't actually know what each key on your layout does.
Why can't I type '
? It works outside of Live Training.
This is most likely because your '
character or other similar character like ~
is a "dead key". Some layouts, especially on macOS, implement dead keys to give users easier access to accented letters. Unfortunately, dead keys do not work with Live Training.
This is because Live Training looks at the physical position of keys, but not their final output. Doing this is useful because it enables some of the more unique features of Live Training while also remaining secure: No actual keystrokes ever leave your local storage. When you hit a dead key, Live Training sees that you hit the correct physical key, but your OS wants you to do something else to "complete" this dead key, which in turn confuses Live Training.
The solution is simply to switch to an OS layout without dead keys for the purposes of training, or use one of the many other great trainers out there for symbol practice.
Why don't macros work in Live Training?
For similar reasons to the above question about dead keys, Live Training does not understand macros very well. Macros simulate key presses, but they are not literal key presses, which means Live Training doesn't understand what macro keys do.
I have another question.
Please email us anytime! [email protected] is where we're at, and we'd love to hear from you. Thank you for trying out Live Training!