Our goal for Bazecor is for users to have unlimited options to make Raise a powerful tool for gaming, coding, and everyday work.
We have done numerous updates after its first release in December 2019. Most of these updates were made thanks to the users’ feedback. Every comment we get is extremely valuable.
As you may know, our software is open-source and our development Trello board is public. Anyone can access our code in Github and can vote or comment on the Trello board the features that we will be implementing.
After releasing the Raise and having hundreds of users test the software and giving us feedback, we’ve solved: firmware bugs, software bugs, and we’ve also added new features that we believe are better for the user experience.
It’s important for the software to be intuitive. Although we are still far away from the UX that we aim to have, we will continue to release updates every month.
Make sure you get to upgrade Bazecor’s firmware to benefit from the latest updates, features, and bug fixes.
List of the changes we’ve done in the 0.2 version:
- One Shot layers, One Shot modifiers, Move to Layer and Mouse keys have been implemented. You can configure them through the Key Config menu.
- ‘Layer shift when held, normal key otherwise’ and ‘Modifier when held, normal key otherwise’ have been implemented.
- It is now possible to adjust the brightness of all the LEDs.
- The idle time after which the LEDs shut off is also configurable now.
- The Preferences and Keyboard settings screens have been merged into a single Preferences screen.
- It is now possible to flash firmware onto a Raise in programmable mode (when the Neuron is pulsing in blue light).
- A lot of minor and major issues have been fixed, such as frequent white screens under certain conditions.
- Flashing has been made more stable and reliable.
- Notifications are dismissible again.
- It is now possible to get back to the keyboard selection screen, and even disconnect from the Raise.
- The “Software update” menu entry has been disabled – coming soon!
Miscellaneous – for better UX
- The application language cannot be changed anymore. We’ll be doing translations in a different way, and the feature will be coming back then.
- Dark mode has been temporarily removed until we iron out the quirks and make it usable.
- The Leader, SpaceCadet, Mouse warp, and Steno keys are no longer offered by the key config popup.
- Dual-use functionality is no longer available for modifiers, because they do not make sense.
- The key config popup has been cleaned up and rearranged.
There are other small changes. Please read the rest of the article for more information.
BAZECOR Version 0.2 for Windows and Linux
Unfortunately, we do not have the executable for the Mac Operating System yet. We detected a problem where Bazecor would crash upon startup.
We have recently got to a state where Bazecor would not crash on OSX anymore. However, it no longer connected to the Raise either, and that affected all operating systems.
So for the time being, we have released the updates without an OSX installer. As soon as we fix the connection issue that happens after fixing OSX, we will do another release with all OSes supported.
Explanation of the new features in the firmware and software
Layer system rework (work in progress)
We currently have ‘LockLayer’ and ‘ShiftToLayer’, both of which activate a given layer in addition to the ones already active.
Having multiple layers active at the same time can be confusing, especially when using Lock to Layer and Transparent keys. For the sake of simplicity, we are reworking the layer system and removing Transparent keys.
Our goal for the next release (ETA March) is to have only one plugin for layers. In that plugin, you’ll be able to configure the desired behavior when you hold or tap a Layer key.
For Bazecor v0.2 we are substituting ‘LockToLayer’ with ‘MoveToLayer’ key, which activates the given layer, and deactivates the rest of layers. The implementation of ‘MoveToLayer’ is the biggest update in the new version of Bazecor. It looks like a small change, but it’s the base to develop the next stage of the Layers plugin.
Move To Layer is a simpler way to work with layers. For the sake of not overloading new users with complex features, the factory firmware will use ‘MoveToLayer’ instead of ‘LockToLayer’.
Implementation Plan for the Layer system
Here’s some information about our roadmap for the Layers rework:
Bazecor v0.1 (factory firmware):
Shift to Layer and Lock Layer are the keys used to change from one layer to another one.
- ‘ShiftToLayer’ keys work by pressing and holding the key. While holding it, you’ll be able to use any key on the layer you shifted to. When you release it, you’ll go back to the initial layer.
- ‘LockLayer’ works by pressing and releasing the key. Until you don’t press it the second time, you won’t return to the initial layer.
Bazecor v0.2 (18th Feb 2020 update):
- ‘ShiftToLayer’ will be retained.
- ‘LockToLayer’ is substituted by MOVE TO LAYER
- ‘OneShotLayer’ has three behaviors:
- Hold it – It acts like ‘ShiftToLayer’
- Tap it once – It acts like ‘BoomerangLayer’. It brings you to another layer but after you press any key on that layer, you will be brought back to the previous layer.
- Tap it twice – It will act like ‘MoveToLayer’
Future plans for Bazecor v0.3:
In the Bazecor v0.3, we plan to merge all these behaviors into one plugin called LEVELS.
In the advanced settings of ‘Levels’, you will be able to select the function of each behavior for the different keys: normal keys, layer keys, modifier keys.
*Boomerang Layer – tapping this key once will bring you to another layer but after you press any key on that layer, you will be brought back to the previous layer.
**Boomerang Modifier – by tapping this key once, only the next key will be modified.
Add modifiers in the Navigation & Miscellaneous section
This particular update came from a user’s request.
We added modifiers to the “Navigation & Miscellaneous” keys as in the previous version there was none. Now you can do functions such as Ctrl + Print Screen.
Create commands to allow programmatically setting the layers
This is a new feature on the firmware of Bazecor and not in the software. Another update that came from a user’s request.
This feature allows a custom program to connect to the Raise and send it commands to change layers. This is for advanced users who can write a program and take advantage of this setting.
Add Num Lock and Keypad Enter keys to the set of possible key assignments
Keypad Enter refers to the enter key on the number pad, which is a different keycode than the enter key on the main keyboard.
LEDs turn off after 10 minutes of inactivity
The LEDs of the Raise will turn off after approximately 10 minutes of inactivity.
LEDs turn off after the user sets the minutes of inactivity
Now users can select the time the LEDs will turn off after inactivity.
Implement overall brightness modification setting for the underglow and backlight
This feature was requested by a user.
There is now an option for users to adjust the overall brightness of the Raise’s underglow and backlight.
Create LED-Off key
This key will toggle all LEDs off and on. The user has to select the key in the key configurator menu.
Explanation of the bug fixes in the firmware
White screen bug experienced by a Mac user
This was a common issue we had for Mac users. If the user enabled showing built-in layers, switched to one, and then back to an EEPROM layer, Bazecor threw an error and failed to recover gracefully, resulting in a white screen.
It has been fixed by catching those errors and recovering them.
Pressing any key turns the lights back on if they were turned off due to being idle
In the previous version, pressing the LED key wouldn’t wake up the keyboard. In this new version, pressing the LED key would turn on the keyboard.
Saved LED modes should be upgraded when updating the firmware
When upgrading from the factory firmware to the new one, the LED mode the user saved should still be the active one, unless it was one of the removed effects.
As such, when upgrading from the old firmware to the new one, we need to adjust the saved LED mode:
- If it’s 0, 1, 2, or 3, we should set it to Colormap.
- If it’s higher than that, then adjust so the effect remains the same in the new effect ordering too.
For this to work, we had to store a byte in EEPROM, to signal that we’ve upgraded to the latest version of the firmware. This should act as a counter of sorts so we can reuse it in the future too.
Explanation of the bug fixes in the software
Troubleshooting advice exit function
The text box of the troubleshooting advice did not disappear when exited. This bug has now been fixed.
Showing hardcoded layers easily errored out
When enabling hardcoded layers, while “use custom layers only” is also enabled, the layout editor errored out and went into a blank white screen (with errors on the dev console). This only happened when the layout editor was supposed to show a negative layer.
We have fixed this bug.
Fix issues with the Spanish Layout
When using the Spanish layout, there are two backticks in the punctuation group. The second one should be `º` instead.
Fix the title of the keyboard selection screen
The initial screen currently reads “Software update”, which is not the appropriate title.
We changed it to “Select a keyboard”.
GUI keys should show the OS name
GUI stands for Graphic User Interface. It’s a kind of an old school way of calling the operating systems that not a lot of youngsters know.
Instead of the not very descriptive and awkward “Left Gui” / “Right Gui” labels, GUI has been replaced by the WIN, MAC or LINUX, to match your operating system.
Dark mode disabled
When in Dark mode, some texts become unclear and selected keys become indistinguishable to others. We decided to disable it entirely until we fix the UI.
In the image above, it’s hard to see that the 4 key has actually been selected.
Better labels for disabled and transparent keys
`XXX` wasn’t a clear name for a disabled key. We’ve changed it to `NO KEY`.
Transparent keys are shown in Bazecor as no text keys. Now the key is called TRANSP. In the configurator and you’ll see `TRANS` on the key.
Remove all the static LED color modes
We got a few messages from users saying that they would get stuck in a solid color and couldn’t get back to their custom color.
We realized that having the static solid colors, such as the blue, red, green, white, may seem confusing for users especially if they accidentally hit the LED Next Effect key. This would make them think that there is a bug because the colors would not change.
To try to avoid this issue, we decided to only have light animations in the LED color modes. This way, people will know that they are in an LED effect and that they simply need to press the LED Next Key to change the colors.
Resize Key config menu boxes so they are as big as their rows
We resized the boxes in the key configuration menu to be more efficient with the space.
Merge “Keyboard settings” into “Preferences”
Merging these two sections reduces clutter considerably. We decided that it made more sense to have both on the same screen – the keyboard settings would just be hidden when there’s no keyboard connected yet.
Remove the language option
Bazecor currently supports English and Hungarian. The latter isn’t very useful, but having the language option gives a false impression that there are more languages supported.
For now, until more translations are available, we have removed the option. Only English is supported by Bazecor.
Bazecor support page redirects to the Setup My Raise page
There are still more bugs and issues that we need to solve.
In the next updates, we will be working on these issues:
- macOS crashes
- Upgrade Electron & node
- Firmware update issues
- LEDs remain on when the host suspends
- Move To graphical bug
- Caps Lock issue
- Fix issues with the Spanish Layout
- Correct two issues in the UK layout
- White LEDs look pinkish
- Disable the ability to unselect a key
- Fix mouse Warp Keys
- Fix graphical representation of some keys in the German layout
- Dark Mode Theming color on text bug
- Show the palette (in a disabled state) for negative layers too
- Disable keyconfiguration options for underglow LEDs
- Update the size of the keycaps of the 8-bar to match reality
You can also check our progress live on our Development Trello board. Access the board here: https://trello.com/b/keS2GQcU/bazecor-firmware-development