You showed some really, really neato layouts there! Were they for keyswaping or a new circuit design?
Thank you. I would say they are mainly for a new circuit design. After all, the idea is to get around not having extra keys by using the existing Caps Lock and Tab keys, and possibly even the |\ key, as shift keys. Without N-key rollover, the keyboard matrix would very likely need to be arranged so that using those keys as shift keys wouldn't cause ghosting, as those keys weren't originally planned to be used as shift keys.
Without a new circuit design, I suppose that the best that can be done is to turn one of the Ctrl keys into an Fn key, and live without the Windows Shift.
With a new circuit design, considering the layouts examined there, perhaps the best possibility might be this:
-----------------------------------------------------------
| | | | | | | | | | | | | | | |
| \ |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| |
|-----------------------------------------------------------|
|Fn |BTB| | |PG | | |CAP|WIN| < | ~ | | |Fn |
| |TAB|INS|HOM|UP | | |LK |MNU| > | ` | | | |
|-----------------------------------------------------------|
|Win |NUM| | |PG | | | | | ^ | | | | |
| |LK |DEL|END|DN | | |<- | ->| | | v | | |
|-----------------------------------------------------------|
| | |PRT|SCL|PAU| | | | | | | |
| | |SC |LK | | | | | | | | |
|-----------------------------------------------------------|
|Ctrl | | | | | |Ctrl |
| | | | | | | |
----- --------------------------------------- -----
Only one Windows Shift key is more acceptable than only one Control key; as well, leaving the Control keys in their original positions facilitates using them for "Reset" and "Enter" (when the normal Enter key becomes Carriage Return) if one is heading into 122-key terminal emulation territory.
Then you might have something like this:
-----------------------------------------------------------
| | | | | | | | | | | | | | | |
| \ |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24| |
|-----------------------------------------------------------|
|Fn | | | | | | | | | | | | |Fn |
| |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| |
|-----------------------------------------------------------|
|Win |BTB| | |PG |PRT|PAU| | | ^ | | |???|RETURN |
| |TAB|INS|HOM|UP |SC |BRK|<- | ->| | | v | | |
|-----------------------------------------------------------|
| |NUM| | |PG |SCL|RUL|CAP|WIN| < | ~ | |
| |LK |DEL|END|DN |LK | |LK |MNU| > | ` | |
|-----------------------------------------------------------|
|Ctrl | | | | | |Ctrl |
|RESET| | | | | |ENTER|
----- --------------------------------------- -----
where
stands for the extra key on the numeric keypad, and RUL the key in the middle of the cursor cluster. Of course, that still leaves out the ten keys to the left of the main typing area; since a 122-key keyboard doesn't have a Windows Shift key, perhaps that could be used as a second function shift to produce those keys instead when in that mode.
Come to think of it, this would probably be better:
-----------------------------------------------------------
| | |PF |PF |PF |PF |PF |PF |PF |PF |PF |PF |PF |PF | |
| \ |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 | |
|-----------------------------------------------------------|
|Fn |BTB| | |PG |SCL|RUL|CAP|WIN| < | ~ | | |Fn |
| |TAB|INS|HOM|UP |LK | |LK |MNU| > | ` | | | |
|-----------------------------------------------------------|
|PF13- |NUM| | |PG |PRT|PAU| | | ^ | | |???|RETURN |
|PF24 |LK |DEL|END|DN |SC | |<- | ->| | | v | | |
|-----------------------------------------------------------|
| | | | | | | | | | | | |
| |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10| |
|-----------------------------------------------------------|
|Ctrl | | | | | |Ctrl |
|RESET| | | | | |ENTER|
----- --------------------------------------- -----
as it keeps most of the original design, and treats the F13 to F24 keys as less used than the ten keys to the left of the keyboard. The function keys are now shown as PF1 through PF24, and F1 through F10 refer to the keys to the left of the keyboard, since different terminal keyboards use varying designations for them.
If you really need to do everything at once, of course, the PF13-PF24 shift can be moved to the right hand Fn key, where |\ was originally, so that the original Caps Lock key can still be used as the Windows Shift.
And now I've got an even better idea. Use Caps Lock as the Win key, keep two Fn keys, but make the Fn shift of the }] into "+12 lock".
When the keyboard is used as a 122-key keyboard, it changes PF1 through PF12 into PF13 through PF24.
When it's used as a 105-key keyboard, it changes 12 multimedia keys into F1 through F12. The positions labelled as F1 through F10 can be another 10 multimedia keys.
Yes; taking this keyboard design, without keys in the Windows key positions, and placing Mt. Ossa upon the summit of Mt. Olympus to get it to function as a normal 105-key keyboard was not enough for me. Instead, I insist on piling Pelion on Ossa to have it function as a keyboard with a ridiculous number of keys like 122, and still be (relatively) easy and convenient to use.
Even with such a capable layout as the starting point, though, programmability is still needed.
Somebody is going to have an urgent need for the right Windows Shift key. I can try to design a keyboard which is very good for a lot of people, even under outrageously limited circumstances, but ultimately different people have different preferences, are in different situations, and use different software.