Leeku L3 Software
Leeku L3 Software
For L3 boards (ALPhaS, Finger, FingerUP, CP-SQ, MX1800, MX3000)
& MX1830 boards (legacy 1800/3000)
The L3 Software can be downloaded from
http://kbdlab.co.kr/index.php?mid=board_sw&document_srl=2702787
Corrections or additions to this document can be
PM’d to Pliny at Geekhack or sent to: ralfdash199999@gmail.com
This doc v1.04 / 12-Aug-16
Disclaimer: if you manage to brick your keyboard with any of the instructions here, it’s not my fault!
JigOn v151116 Main Window
I. USING THE ‘JIGON’ KEYMAP & LED CONTROL APP
1. Keymapping
- Start JigOn.
- Connect to the keyboard (menu: Keyboard > Connect).
- Press a key on the keyboard (or mouse click on the upper keymap), that key will be highlighted in red on
the upper keymap. Click with the mouse on the function you want to map that key to (its matrix) on the
lower keyboard map. Repeat as desired.
- Update the keyboard (Update > All).
Load and save files with keymappings by using Menu > Load… and Menu > Save… Files are saved with a .BIN
extension.
2. Layers
You have three layers to choose from: 0,1 and 2. If there’s more to them than just storing easily recalled
layouts, I don’t know about it yet!
3. FN Layer
If you click on the “Layer FN” radio button, you can define what a key will generate when you press it while
also holding down the FN key (which is whatever you define the FN key to be on the layer you are using: 0, 1,
or 2).
For example if you define Pause as FN in layer 0, then go to layer FN and set the “Z” key to generate “MUTE”
(mute the system audio), then when you press FN-Z (Pause-Z) the system will mute and unmute.
4. Keyboard Circuit Board (PCB) RGB LED Underlighting Control
In all cases first make your LED setting changes, then use Update > All to apply.
The grid of 20 RGB selections corresponds to the RGB LEDs on the underside of the PCB of the keyboard. Click
on each color selection box to set its corresponding LED’s color.
The lower grid row, far left corresponds to the RGB LED near the Caps Lock key. The lower row of the grid
moving left to right in the grid moves clockwise around the board. Then the upper row of the grid, far right
moving right to left continues moving clockwise around the board.
This actually becomes clearer if your board has an acrylic bottom. Flip it over and now the RGB LED position
and grid position make more sense!
You may have less than 20 RGB LEDs; there is a dropdown for 20 and 14, but some boards have other counts,
such as 16 (a CP-SQ).
The available RGB Effects:
RGB mode 1 - Snake clockwise
RGB mode 2 - Slow breathing
RGB mode 3 - Slow fade in and out in order through the RGB colors (20-color grid is ignored
RGB mode 4 - Fast breathing
RGB mode 5 - Fast fade in and out in order through the RGB colors (20-color grid is ignored
RGB mode 6 - Solid/constant on
‘Sleep Time’ - how long before all your LEDs auto shut off. Any keypress reawakens them.
5. In-switch LED Lighting Control
There are two blocks of in-switch LED controls: ‘Arrow’ which controls the WASD and Arrow keys and ‘Key’
which controls all other key’s LEDs except for latching keys like CapsLock. Each has 3 presets, 0, 1 and 2. What
these controls do depends on what LEDs have been actually installed on the board; this varies by the
individual build. Each block can set to a different effect.
The available effects:
Fading aka breathing, LEDs fade up, then down, then keep cycling like that
Fading+PushOn like breathing until a key is pressed, then the LEDs only light up when keys are pressed,
when you stop pressing keys it times out and goes back to breathing
Push Level ?????
Push On LEDs are off, but light up when a key is pressed
Push Off LEDs are on, but go off when a key is pressed
Always in-switch LEDs are always on
CapsLock LEDs are on when CapsLock is on, and off when CapsLock is off
Off LEDs are always off
6. Troubleshooting
Make sure you "connect" to the board (Keyboard > Connect) before changing things.
Make sure you Apply > All when finished.
Make sure the correct default layer is selected: if you are editing 'Layer 0’ and your default layer is set to
'Layer 2’ then (nothing happens?)
The program may sometimes switch the ‘default layer’ setting by itself.
If the keyboard works, but setting the keymap or LEDs doesn’t, or pressing a key in JigOn doesn’t turn the key
red, then the version of JigOn and the firmware may be mismatched. Flash the keyboard to the firmware that
matches the version of JigOn you’re using (download them both at once from the original page!).
On some computers, you may have to restart JigOn every time you apply settings.
II. DEFINING AND USING MACROS
JigOn’s FN layer slots M01-M52 are used to store macros but JigOn does not need to be running to define/use
macros. You do, however, need a key mapped to FN in your keymap.
- Decide on a macro triggering key that will be used in conjunction with FN to trigger the macro
- Open Notepad to a blank document, then press FN + <the macro triggering key> for four seconds. The
keyboard will “type out” “OK RECORD MACRO”
- Type in the text you want your macro to output
- Save by pressing the FN key again. The keyboard will “type out” “DONE”
- To trigger the macro simply press FN + <the macro triggering key>
Example: we’d like the macro trigger key to be “Z”. Open Notepad or a text editor. Hold down FN+Z for four
seconds. “OK RECORD MACRO” appears in the editor. Type your macro output text, we’ll use “this is a test”.
Then press FN again. “DONE” appears in the editor. Now, whatever app you’re in, when you press FN+Z, “this
is a test” will be typed into the current app.
III. L3 KEYBOARD GENERAL TIPS
You can hold ‘U’ for USB mode or ‘P’ for PS/2 mode while plugging in the keyboard. Holding ‘ESC’ while
plugging in the keyboard triggers something called “connection boot loader entry.”
By “factory” default the MX1800 has been mapped with the Pause key as FN key because Pause is a rarely-
used key. Pause may be then be issued by pressing FN (pause key) + ScrollLock.
IV. FLASHING THE BOARD’S FIRMWARE
- Unzip the firmware zipfile (ex. L3FW_160422.zip) to a folder.
- Run the batch (.BAT) file loadfw.bat.
It will then flash the Leeku L3 keyboard with that version of the firmware.
If you get a “communications error” when flashing, try a different USB cable and/or port. For me, it turned out
using a different port worked, even though the keyboard could *type stuff* using the first port, it couldn’t
flash the board.
V. QUESTIONS / TO DO
- What does the yellow shading in the upper keymap mean? Does it mean a switch is physically present?
Does it mean that key is assigned to something rather than nothing?
- What other tricks can JigOn do that aren’t listed here?
- Layers and ‘default layer’ need more of an explanation.
- I can’t get “FN + ESC = LED mode switching” to do anything.
VI. ADVANCED
Not responsible for damage to the board from use of any of the commands in this section!
Files from the Firmware Zipfile
- l3cmd.exe - command-line utility for L3 keyboard; can save and load config and keymap files
- bootloadHID_l3.exe - actual flashing utility (don’t run directly!)
- L3.hex - the firmware itself
- loadfw.bat - the controlling batch file (run this!)
l3cmd.exe Commands
l3cmd cmd boot – “a boot loader entry” (readies keyboard for flashing?)
l3cmd cmd matrix – outputs the matrix codes to the screen (unplug board to reboot it & exit this mode)
l3cmd cmd keycode – “matrix output, keymapping after completion”
l3cmd readcfg [filename] - (keyboard -> file) writes config to a file
l3cmd writecfg [filename] - (file -> keyboard) keyboard reads in from config file
l3cmd readkey [filename] - (keyboard -> file) writes keymap to a file
l3cmd writekey [filename] - (file -> keyboard) keyboard reads in from a keymap file
bootloadHID_l3.exe Info
BootloadHID is a USB boot loader for AVR microcontrollers. It can be used on all AVRs with at least 2 kB of
boot loader section, e.g. the popular ATMega8.
The firmware can be flashed with the "bootloadHID" tool. It accepts only one parameter: an Intel Hex file
containing the code to be loaded. The firmware is flashed into the upper 2 kB of the flash memory and takes
control immediately after reset. If a certain hardware condition is met (this condition can be configured, e.g. a
jumper [or perhaps l3cmd cmd boot? -Pliny]), the boot loader waits for data on the USB interface and loads it
into the remaining part of the flash memory. If the condition is not met, control is passed to the loaded
firmware.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License except for
the BootloadHID info which is ⓒ2007 Objective Development Software GmbH.