Page 1 of 1

Switch Hitter Keyboard Diagnostic Software by EK

Posted: 06 Feb 2014, 15:07
by CeeSA
https://elitekeyboards.com/switchhitter.php

not bad, Logging, ISO Support and
Layout file syntax tutorial in the works...

Posted: 06 Feb 2014, 16:20
by IvanIvanovich
Looks like a nicer more polished alternative to Aqua's.

Posted: 07 Feb 2014, 09:41
by dorkvader
layout files are stored in C:\Users\<NAME>\AppData\Roaming\EliteKeyboards\layouts.

below is the contents of an example file opened in a text editor
Spoiler:

Code: Select all

105 Key ISO

R1, 0x01, "Esc", "Esc", 1
R1, BL, "", "", 1
R1, 0x3B, "F1", "F1", 1
R1, 0x3C, "F2", "F2", 1
R1, 0x3D, "F3", "F3", 1
R1, 0x3E, "F4", "F4", 1
R1, BL, "", "", 0.5
R1, 0x3F, "F5", "F5", 1
R1, 0x40, "F6", "F6", 1
R1, 0x41, "F7", "F7", 1
R1, 0x42, "F8", "F8", 1
R1, BL, "", "", 0.5
R1, 0x43, "F9", "F9", 1
R1, 0x44, "F10", "F10", 1
R1, 0x57, "F11", "F11", 1
R1, 0x58, "F12", "F12", 1
R1, BL, "", "", 0.5
R1, 0xE037, "Print\nScrn", "Print Screen", 1
R1, 0x46, "Scroll\nLock", "Scroll Lock", 1
R1, 0xE11D, "Pause", "Pause", 1
//R1, 0xE046, "Break", "Break", 1

// Vertical space between F keys and Number Row on 104-key layout
R2, BL, "", "", 18.5x0.5

// Top row - numbers, backspace, etc.
R3, 0x29, "` ~", "`", 1
R3, 0x2, "1 !", "1", 1
R3, 0x3, "2 @", "2", 1
R3, 0x4, "3 #", "3", 1
R3, 0x5, "4 $", "4", 1
R3, 0x6, "5 %", "5", 1
R3, 0x7, "6 ^", "6", 1
R3, 0x8, "7 &", "7", 1
R3, 0x9, "8 *", "8", 1
R3, 0xA, "9 (", "9", 1
R3, 0xB, "0 )", "0", 1
R3, 0xC, "- _", "-", 1
R3, 0xD, "= +", "=", 1
R3, 0xE, "Backspace", "Backspace", 2
R3, BL, "", "", 0.5
R3, 0xE052, "Insert", "Insert", 1
R3, 0xE047, "Home", "Home", 1
R3, 0xE049, "Page\nUp", "Page Up", 1
R3, BL, "", "", 0.5
R3, 0x45, "Num\nLock", "Num Lock", 1
R3, 0xE035, "/", "Num /", 1
R3, 0x37, "*", "Num *", 1
R3, 0x4A, "-", "Num -", 1

// Second row - tab, QWERTY, etc.
R4, 0xF, "Tab", "Tab", 1.5
R4, 0x10, "Q", "Q", 1
R4, 0x11, "W", "W", 1
R4, 0x12, "E", "E", 1
R4, 0x13, "R", "R", 1
R4, 0x14, "T", "T", 1
R4, 0x15, "Y", "Y", 1
R4, 0x16, "U", "U", 1
R4, 0x17, "I", "I", 1
R4, 0x18, "O", "O", 1
R4, 0x19, "P", "P", 1
R4, 0x1A, "[ {", "[", 1
R4, 0x1B, "] }", "]", 1
R4-5, 0x1C, "Enter", "Enter", 1.5-1.25
R4, BL, "", "", 0.5
R4, 0xE053, "Delete", "Delete", 1
R4, 0xE04F, "End", "End", 1
R4, 0xE051, "Page\nDown", "Page Down", 1
R4, BL, "", "", 0.5
R4, 0x47, "7", "Num 7", 1
R4, 0x48, "8", "Num 8", 1
R4, 0x49, "9", "Num 9", 1
R4-5, 0x4E, "+", "Num +", 1-1

// Third row - Caps Lock, ASDF, Enter, etc.
R5, 0x3A, "Caps Lock", "Caps Lock", 1.75
R5, 0x1E, "A", "A", 1
R5, 0x1F, "S", "S", 1
R5, 0x20, "D", "D", 1
R5, 0x21, "F", "F", 1
R5, 0x22, "G", "G", 1
R5, 0x23, "H", "H", 1
R5, 0x24, "J", "J", 1
R5, 0x25, "K", "K", 1
R5, 0x26, "L", "L", 1
R5, 0x27, "; :", ";", 1
R5, 0x28, "' """, "'", 1
R5, 0x2b, "\ |", "\", 1
// Enter key 2nd row should appear here.
R5, BL, "", "", 4
R5, 0x4B, "4", "Num 4", 1
R5, 0x4C, "5", "Num 5", 1
R5, 0x4D, "6", "Num 6", 1

// Fourth row - Z, X, C, etc.
R6, 0x2A, "Shift", "LShift", 1.5
R6, 0x56, "\ |", "\", 1             // ISO keyboard's additional backslash (becomes "< >" under some languages).
R6, 0x2C, "Z", "Z", 1
R6, 0x2D, "X", "X", 1
R6, 0x2E, "C", "C", 1
R6, 0x2F, "V", "V", 1
R6, 0x30, "B", "B", 1
R6, 0x31, "N", "N", 1
R6, 0x32, "M", "M", 1
R6, 0x33, ", <", ",", 1
R6, 0x34, ". >", ".", 1
R6, 0x35, "/ ?", "/", 1
R6, 0x36, "Shift", "RShift", 2.5
R6, BL, "", "", 1.5
R6, 0xE048, "Up", "Up", 1
R6, BL, "", "", 1.5
R6, 0x4F, "1", "1", 1
R6, 0x50, "2", "2", 1
R6, 0x51, "3", "3", 1
R6-7,0xE01C,"Enter", "Enter",1-1

// Fifth row - Ctrl, Alt, Space, etc.
R7,0x1D, "Ctrl", "LCtrl", 1.25
R7,0xE05B, "Win", "LWin", 1.25
R7,0x38, "Alt", "LAlt", 1.25
R7,0x39, "Space", "Space", 6.25
R7,0xE038, "Alt", "RAlt", 1.25
R7,0xE05C, "Win", "RWin", 1.25
R7,0xE05D, "Menu", "Menu", 1.25
R7,0xE01D, "Ctrl", "RCtrl", 1.25
R7, BL, "", "", 0.5
R7,0xE04B, "Left", "Left", 1
R7,0xE050, "Down", "Down", 1
R7,0xE04D, "Right", "Right", 1
R7, BL, "", "", 0.5
R7,0x52, "0", "0", 2
R7,0x53, ".", ".", 1

I just used this to test my one handed ergodox gamepad running soarer's firmware, and am coming up with an ergodox layout now.

Edit: the ISO one contains comments.

Edit: made one for my LH ergodox layout. I cant figure out if its possible to have keys that are less than 1 unit vertically. I think it may be possible by playing around with an extra vertical space of less than 1, and possibly an extra blank line overdrawing part of it.
Spoiler:

Code: Select all

LH Ergodox

R1, 0x1, "Esc", "Esc", 1.5
R1, 0x2, "1 !", "1", 1
R1, 0x3, "2 @", "2", 1
R1, 0x4, "3 #", "3", 1
R1, 0x5, "4 $", "4", 1
R1, 0x6, "5 %", "5", 1
R1, , "fn1", "FN1", 1

R2, 0xF, "Tab", "Tab", 1.5
R2, 0x10, "Q", "Q", 1
R2, 0x11, "W", "W", 1
R2, 0x12, "E", "E", 1
R2, 0x13, "R", "R", 1
R2, 0x14, "T", "T", 1
R2, , "fn2", "FN2", 1

R3, 0x3A, "Caps Lock", "Caps Lock", 1.5
R3, 0x1E, "A", "A", 1
R3, 0x1F, "S", "S", 1
R3, 0x20, "D", "D", 1
R3, 0x21, "F", "F", 1
R3, 0x22, "G", "G", 1

R4, 0x2A, "Shift", "LShift", 1.5
R4, 0x2C, "Z", "Z", 1
R4, 0x2D, "X", "X", 1
R4, 0x2E, "C", "C", 1
R4, 0x2F, "V", "V", 1
R4, 0x30, "B", "B", 1
R4, , "fn3", "FN3", 1



R5, BL, "", "", 0.5
R5, 0x1D, "Ctrl", "LCtrl", 1
R5, 0xE04B, "Left", "Left", 1
R5, 0xE048, "Up", "Up", 1
R5, 0xE050, "Down", "Down", 1
R5, 0xE04D, "Right", "Right", 1
R5, BL, "", "", 2
R5, 0xE047, "Home", "Home", 1
R5, 0xE04F, "End", "End", 1



R6, BL, "", "", 6.5
R6-7, 0x39, "Space", "Space", 1-1
R6-7, 0x1C, "Enter", "Enter", 1-1
R6, 0xE049, "Page\nUp", "Page Up", 1


R7, BL, "", "", 6.51
R7, 0xE051, "Page\nDown", "Page Down", 1
Which Produces:
Image
Code for normal keys is
R<row number>, <BIOS code>, "<Keycap Label on KB>", "<Keycap Label on display above>", <Keycap Width>
R1, 0x1, "Esc", "Esc", 1

for double height keys it's
R<row number>-<row number>, <BIOS code>, "<Keycap Label on KB>", "<Keycap Label on display above>", <Keycap Width top row>-<Keycap Width bottom row>
R4-5, 0x1C, "Enter", "Enter", 1.5-1.25

Top line of file is read as the KB layout name.