0.4.0 (unreleased)
-
mouse
added mouse gestures keycode. Move the mouse and press the gesture button to activate keycodes depending on which direction the mouse moved. -
mouse
mouse buttons are now remappable by layouts -
mouse
better support for extra mouse buttons -
mouse
addedkeyplus-cli hidpp list-features
for printing mouse capabilites -
mouse
added HID++ 2.0 allowing software to control/read from a connected mouse -
mouse-keys
improve keyboard mouse control -
macro
added macro keycodes -
macro
updated the old internal implementation of macros -
keycodes
added support for HID System codes -
layout
make id field optional for non-split boards -
layout
addedhas_mouse_layers
for enabling mouse layers -
layout
addeddefault
option tolayouts
field for setting the default layout used by the mouse when the receiver is powered on -
layout
fixed off by one error when writing layout data -
firmware
matrix scanning for EFM8 -
firmware
added basic nrf52840 support -
firmware
added linux user space driver to emulate keyplus on any keyboard -
keyplus-cli
more options forkeyplus-cli debug
command -
keyplus-flasher
when a device has a critical error, perform a full reset -
keyplus-flasher
throw error when trying to use matrix scanning when a device does not support it.
0.3.3
keyplus-flasher
switch from pyside to PyQt5 for GUI. This makes it possible to run the Windows version with Python3 instead of Python2.7. It should also make it easier to run on MacOS.keyplus-flasher
fix some crashes on Windows
0.3.2
-
firmware
fixed media keys -
firmware
clean up source code tree. Standalone ports (e.g.xmega
,nRF24LU1
,atmega32u4
) are moved to theports
directory. And source code inside these directories is cleaned up by moving all *.c, *.h files to their ownsrc
directory. now moved to theports
directory. -
firmware
the device name string is now stored as UTF16-LE -
firmware
some linker script fixes for some large flash xmega chips -
firmware
added alternative shared HID definition for microcontrollers that only have a small number of endpoints. Will be useful for ATmega32u2 and EFM8, since they only have ~4 endpoints. -
firmware
add nRF24LU1+ and EFM8 to travis build targets -
firmware
basis for efm8 support -
keyplus-flasher
efm8 factory bootloader support -
keyplus-flasher
add unicode support to yaml files
0.3.1
-
layout
add support forkeycodes
section in the layout file for defining custom special keycodes -
layout/keycodes
add support forhold
key inkeycodes
section -
layout/keycodes
add more alternative names to some keycodes:trns
,space
, 's_l0,
s_lctl,
int1. Changed
lang_1to
lang1` etc. -
layout/keycodes
add alternative activation method for hold keys. Instead of using a delay to activate the hold key, allow the hold key to be activated when other keys are pressed. -
firmware
basic atmega32u4 support -
firmware
fixed issue that caused updates to the encryption key to require a reset -
firmware
made the maximum number of supported rows configurable at compile time, and increased the default value from 10 to 18. -
firmware
added place holder mouse keys implementation (non-configurable) -
keyplus-flasher
more error messages -
keyplus-flasher
fixed labels not updating properly -
keyplus-flasher
fixed issue requiring user to manual press program button when updating firmware
0.3.0
Changes to layout and config files:
layout
format is incompatible with previous versionslayout
files now have options to enable/disable I²C, nRF24 and mouse support. By default these options are now turned off. So if you used any of these features they will need to be re-enabled in the layout file. See the example layout files for details.layout
the keycodemenu
, HID keycodeKC_MENU
, has now been renamed tohid_menu
. The keycodemenu
in layout files now maps to the HID keycodeKC_APPLICATION
as this is what most people expect.
Internal changes:
-
python-api
new python API added. It is available in thekeyplus
package on PyPI. -
python-api
rework all the code for parsing layout files. -
python-api
add commands to read the layout and settings form the device. -
python-api
add commands to deserialize layouts read from devices -
keyplus-cli
add command to erase all layouts and settings -
keyplus-cli
add commands to dump the raw hex of the layout and settings section -
keyplus-cli
is now able to update RF, layout, and ID separately. -
keyplus-flasher
add support for kp_boot_32u4 bootloader -
firmware
add newchip_id
concept to firmware settings allowing thepython-api
to discover what microcontroller the keyboard is using. -
firmware
rework flash writing commands so that is possible to update only a portion of the layout. -
firmware
layout updates can now be performed without the USB device needing to be reset -
firmware-xmega
now utilizes the IRQ pin in receive mode -
firmware-xmega
add arbitrary pin mapping to matrix scanning algorithm. It should now be possible to use any pins as row/columns. -
firmware-xmega
add new matrix scanning modes:col_row
,pin_gnd
,pin_vcc
. Thecol_row
mode allows the direction of diodes to be flipped. Thepin_gnd
andpin_vcc
modes allow for direct wiring of switches to GPIO pin and one of either GND (pin_gnd
) or VCC (pin_vcc
).
Bug fixes:
firmware
fixes bug where it was possible to read the encryption key from the device.firmware
fixes some bugs that would allow the nRF24 code to accept invalid packets.firmware
I²C split keyboards now disable their nRF24 module if they are not connected to a USB port. This was causing dropped packets before.
0.2.2 (2018-01-27)
- Add error detection and recovery system
- Add ability for controllers to enter recover mode when it detect corrupt or invalid settings. Recover mode disables all features except those necessary to upload a new layout.