Steno typing (Plover) - Desktop Customization & Workflow
Users browsing this thread: 3 Guest(s)
|
|||
Initial hardware/software setup.
I have a QMK based custom hand-wired keyboard, with atmega32u4 controller (teensy 2.0). And I run Gentoo Linux, so most of what I will describe below are for my particular environment. First thing first I had to re-do my crossdev build environment to be able to edit and re-flash the keyboard firmware. In Gentoo you compile everything yourself, but compiling for different architecture other than your host is not as straight forward as just gcc *something*. But it's not that difficult either. For desktop profile these are the steps I followed: # Emerging needed tools sudo emerge --ask sys-devel/crossdev sudo emerge --ask dev-embedded/teensy_loader_cli-9999 # Creating the avr toolchain sudo crossdev -s4 --stable --target avr --portage --verbose # Cloning qmk repo git clone https://github.com/qmk/qmk_firmware.git cd qmk_firmware make git-submodule # I copy my custom keymap to a firmware directory tree cp -r ~/mykeymap/ ./keyboards/mykeymap # Compiling the firmware after that is done as easy as just: make mykeymap:default # And finally to flash I use teensy_loader_cli (it's from my overlay, doesn't come with Gentoo by default) # I think you can also use avrdude to flash, but I wasn't able to do it. teensy_loader_cli -mmcu=atmega32u4 -w mykeymap_default.hex #(press the button on teensy) There are two different types of Steno emulation, one is when Plover software works with any regular keycodes, and emulates steno this way. The downside is that you can't have a dedicated Steno layer. The other way is to emulate a Steno machine via a virtual serial port, this way you run Plover software once and can just switch between regular keyboard layer and a dedicated steno layer. The following settings are for the second option. Things to add to a keymap files: in config.h add #define FORCE_NKRO to rules.mk add STENO_ENABLE = yes NKRO_ENABLE = yes MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = no and finally you should add the following either to your keymap.c directly, or include it from any other file: #include "quantum.h" #include "keymap_steno.h" void matrix_init_user() { steno_set_mode(STENO_MODE_GEMINI); } Then I made a Plover layout in my keymap.c, referencing qmk_firmware/keyboards/planck/keymaps/steno/keymap.c (important thing is to use STN_* keycodes). This is my final layout: Code: [8] = { Finally after compiling and flashing (I use teensy_loader_cli) and reconnecting the keyboard, I could start Plover, but, for some reason on my system it did not see "Gemini PR" machine at first, I had to go to the settings and Scan the /dev/ttyACM0 device once, then it initialized and the Plover layer was ready to use. To make it run at boot I checkboxed 'Enable at start' in settings of Plover, and added 'plover --gui none &' to my .xinitrc |
|||
Messages In This Thread |
Steno typing (Plover) - by stratex - 25-10-2020, 03:00 PM
RE: Steno typing (Plover) - by stratex - 26-10-2020, 06:12 PM
RE: Steno typing (Plover) - by venam - 27-10-2020, 03:28 AM
RE: Steno typing (Plover) - by stratex - 27-10-2020, 11:25 AM
RE: Steno typing (Plover) - by stratex - 30-10-2020, 03:48 PM
|