An Emacs interface to Kaleidoscope powered devices, such as the Keyboard.io Model01. It requires appropriate hardware, and a customised firmware that allows bi-directional communication (the Kaleidoscope-Focus plugin does just this).
There are two parts for this package,
kaleidoscope-evil-state-flash.el. The former implements the lower level
communication, and the rest is an example of what can be built upon this
To use either, one needs to require
kaleidoscope, and start the communication
(require 'kaleidoscope) (kaleidoscope-start)
To stop talking to the keyboard, and release the device lock, one can call
While the channel is active, the
kaleidoscope-send-command function can be
used to send commands to the keyboard. The results will appear in the
(kaleidoscope-send-command :help) (kaleidoscope-send-command :led/setAll "255 0 0")
kaleidoscope-evil-state-flash package ships with a function that sets up
hooks so that whenever Evil changes state, the keyboard will briefly flash in a
color configured for the target state. Assuming the keyboard is set to a LED
mode that allows this (such as
To enable or disable this flashing, call
Note that for the LED Control to work, your Kaleidoscope firmware must have the
FOCUS_HOOK_LEDCONTROL enabled on top of enabling the Focus plugin.
A short, video of the package (showing
action) can be found here.
Copyright & License
Copyright (c) 2017 Gergely Nagy, released under the terms of the GNU GPLv3+.