Soarer's Keyboard Controller firmware
- alh84001
- v.001
- Location: EU-HR-ZG
- Main keyboard: unsaver
- Main mouse: logitech m305 / apple trackpad
- Favorite switch: BS
- DT Pro Member: -
Does soarer's controller/converter support locking keys in any way? I tried mapping a locking caps lock key on my board to 'LOCKING_CAPS_LOCK' but then the key is simply not functioning. Setting it to 'CAPS_LOCK' works, but I then need to release the lock key and press it again to exit CAPS LOCK mode (releases don't do anything, only presses toggle the state, as is expected).
-
- Location: Des Moines / Cedar Falls, IA, USA
- Main keyboard: IBM Model F107
- DT Pro Member: 0190
I have been interested in this too. There is a command that is mentioned only once in his documentation called "onbreak" that would in theory work for this. The idea behind onbreak I think was to have an action taken when the key is released.
Macro would go something like:
macroblock
macro CAPS_LOCK
Press CAPS_LOCK
onbreak
Press CAPS_LOCK
endmacro
endblock
My understanding is that pressing your locking caps lock the one time gives you one emulated caps lock press (which is "latched" down so it doesn't release on its own), then when you do un latch it, that counts as the break/"onbreak" of the physical caps lock key and the macro presses caps lock again which disables the caps lock state.
Pretty sure I tried this exact combination and it didn't work though.
Problem may be that a macro may not be able to allow other keypresses to occur while a macro is running, which would kind of defeat the purpose as using caps lock without later pressing other keys is pretty useless.
Easy fix if you don't care about the caps lock LED is just to map caps lock to shift, so it's more like a shift lock at that point, but you'll still get capital letters when that's latched down. Would love to have a real working solution for this though.
Anyone else have any ideas on how to write a macro for locking caps lock?
Macro would go something like:
macroblock
macro CAPS_LOCK
Press CAPS_LOCK
onbreak
Press CAPS_LOCK
endmacro
endblock
My understanding is that pressing your locking caps lock the one time gives you one emulated caps lock press (which is "latched" down so it doesn't release on its own), then when you do un latch it, that counts as the break/"onbreak" of the physical caps lock key and the macro presses caps lock again which disables the caps lock state.
Pretty sure I tried this exact combination and it didn't work though.
Problem may be that a macro may not be able to allow other keypresses to occur while a macro is running, which would kind of defeat the purpose as using caps lock without later pressing other keys is pretty useless.
Easy fix if you don't care about the caps lock LED is just to map caps lock to shift, so it's more like a shift lock at that point, but you'll still get capital letters when that's latched down. Would love to have a real working solution for this though.
Anyone else have any ideas on how to write a macro for locking caps lock?
- alh84001
- v.001
- Location: EU-HR-ZG
- Main keyboard: unsaver
- Main mouse: logitech m305 / apple trackpad
- Favorite switch: BS
- DT Pro Member: -
Thanks on the info. The board itself doesn't have LEDs, so that's not an issue, and I just might do what you proposed. In the meantime I actually mapped caps lock key to Ctrl and disabled the latching mechanism. Still, it would be helpful if this could be achieved.
-
- Location: Des Moines / Cedar Falls, IA, USA
- Main keyboard: IBM Model F107
- DT Pro Member: 0190
Ok, I figured out what the issue was with the above posted macro. It works on Windows, but not on Mac. I think the Mac has a built in accidental caps lock keypress avoidance for caps lock, so the switch has to be down more than just momentarily to for the OS to recognize it. Figured this out by rapidly tapping the caps lock key on a Macbook Air and that didn't activate caps lock even though I'm sure it was pressed hard enough to actuate the switch.
Universal Locking Caps Lock for Windows and Mac works with the following Macro:
I have a future project that this is definitely going to come in handy for
Hopefully that helps someone else!
Universal Locking Caps Lock for Windows and Mac works with the following Macro:
Code: Select all
macroblock
macro CAPS_LOCK
MAKE CAPS_LOCK
DELAY 200
BREAK CAPS_LOCK
onbreak
MAKE CAPS_LOCK
DELAY 200
BREAK CAPS_LOCK
endmacro
endblock
Hopefully that helps someone else!
-
- Location: Germany
- Main keyboard: IBM M122
- Main mouse: Cherry MC2000
- Favorite switch: Cherry MX Black
- DT Pro Member: -
I am trying to use a Teensy++ 2.0 with Soarer's Controller as a replacement controller for a G80-1502 PCB. After some experiments with a Teensy clone, that did not work properly, I went for a genuine Teensy and now everything works... except for the lock LEDs. Switching them on and off works fine, but they are only glowing very weakly. I am using those standard 5mm green LEDs with 150 Ω resistors and have connected them to pins PB0, PB1 and PB2 of the Teensy (I also tried PB4-PB6). I've measured 4.72 volts between PB0-2 and GND. I would be very thankful if anyone has an idea what I am doing wrong.
-
- Location: united states
- Main keyboard: anything in my collection
- Main mouse: none
- Favorite switch: capacitive buckling spring
- DT Pro Member: 0215
Soarer wrote: ↑Here is my Controller firmware for AVR microcontrollers with hardware USB, e.g. Teensy 2.0, Teensy++ 2.0.
The main difference between this and other controller firmwares is that all configuration is performed using a config file, rather than modifying the C source code. A few example matrix configs are included, covering some very different keyboards.
Retrete was the initial guinea pig with his vintage Kevex terminal - the discussion there serves as an example walk-though of how to apply this firmware to a keyboard. Two videos as well!
The best way to approach making the matrix config is to first set it up with all keys set to 'UNASSIGNED', then to use hid_listen to see which matrix code fires for each key and debug any wiring problems. That way you don't get unintended keystrokes sent to your OS, which could be painful!
All of the features of my Converter (NKRO, remapping, layer, macro, etc) are supported (except, of course, 'ifset').
Matrix scans can include 'classic' matrix (direct connections to rows and columns), multiplexed (strobes are driven through a decoder), and unstrobed (where individual keys are connected to pins). Various polarity and mode settings are available to cover many requirements. There's also options for scan rate, debouncing time and mode, including turbo mode which adds no delay, and a blocking flag to enable de-ghosting.
Currently at beta stage, with only bugfixes and minor changes expected before the first proper release. There is a single .html page included in the zip describing the Controller specific configuration - you'll also need the docs from my Converter (available on DT and GH).
Required hardware is an AVR microcontroller with more than 16KB RAM, and hardware USB with a decent amount of buffer memory. This includes the ATmega32U4 and better, but does NOT include the ATmega32U2.
sorry to res a very old thread, but would it be possible to get the source for this controller? I'de love to see it updated,
and I've been working on getting a bluetooth bigfoot (bluefoot?, blue-bigfoot?, big-blue-foot?) up and running (using parts of this tutorial:
https://learn.adafruit.com/convert-your ... d/overview
so having an easily scriptable controller like this one is a serious boon!
- vinnycordeiro
- DT Pro Member: -
Soarer never made the source available AFAIK. There were a discussion some time ago about reverse engineering the program, but I don't know the current state of this affair.listofoptions wrote: ↑sorry to res a very old thread, but would it be possible to get the source for this controller? I'de love to see it updated,
-
- Location: United States
- Main keyboard: AEK II Mitsumi (rotating)
- Main mouse: G203
- Favorite switch: Orange Alps
- DT Pro Member: -
So I've been trying to use soarers firmware on the NCR 4950, however whenever I use HID listen the board is listing itself as PC/XT, despite the fact the keyboard is supposed to be AT. Also, the HID listen is kicking out error code wEE and remainder fffc. Does anyone know what that could mean?
-
- Location: United States
- Main keyboard: AEK II Mitsumi (rotating)
- Main mouse: G203
- Favorite switch: Orange Alps
- DT Pro Member: -