This week I got my teensy and the Terminal keyboard.
Programming neo2 seem not to be as problematicly as I thought. Layer 1+2 are working (exept not used dead-keys).
Layer 3 I got file to big:
Code: Select all
scwr v1.10
scwr: looking for Soarer's Converter: found
scwr: reading file: 1030 bytes: ok
scwr: sending info request: ok
device: ok
protocol version check: converter=1.00, scwr=1.00: ok
settings version check: converter=1.01, file=1.01: ok
settings length check: max=1018, file=1028 bytes: failed
The first two rows of layer 3 worked, I got this problem in the macros of the third row.
So I think I have to get a Teensy ++ 2.0
Its correct, that the limitation is from EEPROM which is 1k on Teensy 2.0 but 4k on Teensy ++ 2.0?
Of course, even a Teensy 2.0++ maybe has not enough EEPROM for complete NEO2.
There is a second problem,too.
As I wrote, the state of numlock using ALT+Numpad to input charactercodes was irrelevant.
This was true, while hexinput via unicode was deactivated. After activating in the registry numlock became relevant.
Is there any way to force numpad on? As the adapter has his own outputs for LED, a command to force it on should not be a big problem, as the current state is known and all to do is to check the current state and send numlock keycode only if LED is off. Its not such a big problem now, as at office the registrycode is not set, just to be universal.
The third problem: As the same modifier function in NEO is on two keys (one right, one left) and lock is done by pressing both, I am not totaly sure how to progam this. Because of the low numer of modifiers I had to created the layers by this design:
layer 1: <no modifier>
layer 2: <left shift> (remapping the right shift key to left shift function also, so both shifts can be used, but the modifierfunction rshift got free)
layer 3: <right shift> (remapping caps_lock and EUROPE_1 keys to RIGHT_SHIFT)
layer 4: <AltGr> (mapped by AltGR and EUROPE_1)
layer 5: layer 2+3
layer 6: layer 3+4
LALT, LGUI, RGUI, LSTRG and RSTRG are used by windows-functions and have to keep original function, so I can not use them to swap layers.
As remapping is done before macrohandling, pressing both modifiers can not be detected by a macro (without remaping, I can start a macro pressing LSHIFT and RSHIFT, but after remapping there is no way, as both keys are reported as LSHIFT)
I think it would be nice to have virtual modifiers not reporting to the PC. Mody01 to Mody32

It would be also a solution for DEAD_KEYS. The Deadkey is calling a macro, locking the modifier, the following keystroke is handled by a macro creating the composed sign and resetting the modifier.
At last: As the program needs not all flash of the teensy an even in the ++2.0 the EEPROM is small, it would be nice to put the tables in the normal flash...
EDIT: I removed my functionkey-macros I tried first, so 3. layer fits. The functionkeys are based on Halvar's config for Terminal Model M (No 1394312, 122 keys, German, cable with RJ45 connector) but changing f1-12 and f 13-24 row.
The keymapping and layer 1-3 are working exept some dead_keys and locking a layer.
As Sum and pi are in advanced Layers I cannot support without Teensy++2.0, I put them on AltGr +s /+p.
This config should be enough for normal office work, so it make it possible to use NEO there if you can change keyboard/adapter (maybe simply telling your finger hurt after work, so you had to take a mechanical and optimised keyboard for medical reasons - which is basicly true)