Author Topic: 4x10 kb Qwerty style - 35% kb  (Read 5865 times)

0 Members and 1 Guest are viewing this topic.

Offline decker

  • Thread Starter
  • Posts: 128
  • Location: Nice, France
4x10 kb Qwerty style - 35% kb
« on: Thu, 31 December 2015, 08:42:29 »
So I was wondering if I could manage to fit the 104 characters / functions of a standard US-Qwerty keyword in a 4x10 kb, about 35%...

Here is the proposed layout :



Legacy 4x10 Qwerty style

no symbols version

The use of the 3 green buttons are as follows :
100 shift
010 ctrl
001 alt
110 win
101 hyper
011 alt gr
111 fn

Any thoughts ?
« Last Edit: Sun, 03 January 2016, 03:05:41 by decker »

Offline nicoritschel

  • Posts: 1
Re: 4x10 kb Qwerty style - 35% kb
« Reply #1 on: Sat, 02 January 2016, 12:15:44 »
How do you plan to input combinations of modifier keys? Seems quite clever aside from that  :thumb:

Offline neverused

  • Posts: 572
Re: 4x10 kb Qwerty style - 35% kb
« Reply #2 on: Sat, 02 January 2016, 12:34:41 »
There's a certain point at which these types become unusable, I think this is about the limit if not completely impractical for most users.

Offline decker

  • Thread Starter
  • Posts: 128
  • Location: Nice, France
Re: 4x10 kb Qwerty style - 35% kb
« Reply #3 on: Sat, 02 January 2016, 14:58:23 »
I do agree, this type of keyboard is so limited in the number of keys you have access to directly that any time you need things apart from lower case letters you are going to start regretting your using it.

About the modifier keys, the three in green are shift, ctrl and alt.
If applied to the first letter you would get in the decribed order (1 is pressed, 0 is not) :

000 Q : q
100 shift+Q : Q
010 ctrl+Q : os dependent function
001 alt+Q : os dependant function
110 win+Q : os dependent function
101 hyper+Q : `
011 alt gr+Q : 1
111 fn+Q : F1 (os dependent function)

You will note that it is not possible to have things like alt+F1, ctrl+1 nor win+`
I guess one would need to remap any usufull shortcut to practical keys in their OS.

If you question was linked to hand movement :

100 left pinky
010 left middle finger+ right hand for typing
001 left thumb
110 left pinky
101 left ring finger + index + right hand for typing
011 left thumb
111 left ring finger + middle finger + index + right hand for typing

If I didn't understand your question please explain.
Thanks for your comments

Offline vvp

  • Posts: 886
Re: 4x10 kb Qwerty style - 35% kb
« Reply #4 on: Sun, 03 January 2016, 04:12:27 »
I do not like it at all, but if you feel you need such a small keyboard then split the space bar to at least 3 separate keys: win, fn, space. Or make it rather four keys. Even if you want to use Space-Fn, even in that case it make sense to have e.g. Fn2 with such a tiny keyboard.

I believe the question was how do you press e.g. Ctrl-Alt-Del with your layout? Because from what you posted you would get AltGr-Del when trying to press it the obvious way.

Offline decker

  • Thread Starter
  • Posts: 128
  • Location: Nice, France
Re: 4x10 kb Qwerty style - 35% kb
« Reply #5 on: Sun, 03 January 2016, 13:36:26 »
I do not like it at all, but if you feel you need such a small keyboard then split the space bar to at least 3 separate keys: win, fn, space. Or make it rather four keys. Even if you want to use Space-Fn, even in that case it make sense to have e.g. Fn2 with such a tiny keyboard.

I believe the question was how do you press e.g. Ctrl-Alt-Del with your layout? Because from what you posted you would get AltGr-Del when trying to press it the obvious way.

I'm not saying I like it myself.
Its kind of a challenge, a thought experiment.
To see what could be done if you where limited to this number of keys and the qwerty set of caracters.

Yes I had noticed the problem with ctrl+alt+del, which is not accessible.
My answer is as stated more generaly :
"I guess one would need to remap any usufull shortcuts to practical keys in their OS."
So the OS would need to have the ability to redefine that the function launched by Ctrl+Alt+Del is now launched by Ctrl+Alt+Backspace for instance.
Thanks

PS : I see you have a ErgoDox, do you use a custom layout ?

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: 4x10 kb Qwerty style - 35% kb
« Reply #6 on: Sun, 03 January 2016, 14:48:30 »
PS : I see you have a ErgoDox, do you use a custom layout ?
That's vvp's Katy.

Offline decker

  • Thread Starter
  • Posts: 128
  • Location: Nice, France
Re: 4x10 kb Qwerty style - 35% kb
« Reply #7 on: Sun, 03 January 2016, 16:24:19 »
PS : I see you have a ErgoDox, do you use a custom layout ?
That's vvp's Katy.

My mistake...
Looks like a cool project, I'll have to read the thread when I have the time.

Offline vvp

  • Posts: 886
Re: 4x10 kb Qwerty style - 35% kb
« Reply #8 on: Sun, 03 January 2016, 17:11:22 »
PS : I see you have a ErgoDox, do you use a custom layout ?
As davkol pointed out, it is not an ergodox but a bastard child of ergodox, kinesis, and maltron.
I just finished the port of the PC configuration application to Windows. So one can define remaps and macros both on the fly and through the configuration application; and both on Windows and Linux.
And I have a first version of the strafe jump macro working. Here is how the source code of a strafe-jump program looks like:
Code: [Select]
void main(){
  short i;
  byte x = -17;
  pressKey(0x2D); // - run
  pressKey(0x0c); // I forward
  pressKey(0x0d); // J left
  for (i=0s; i<150s; ++i ) {
    moveMouse(x, x/2); }
  pressKey(0xE5); // ShR jump
  releaseKey(0xE5); // ShR jump
  releaseKey(0x0d); // J left
  delay(300s);
  releaseKey(0x2D); // - run
  releaseKey(0x0c); // I forward
}
This gets compiled to a byte-code which can be loaded to the keyboard and invoked on a trigger one can define. The firmware contains a small virtual machine which can run programs like these in parallel. Pretty nifty. It is a modified chrisandreae's firmware.

Yeah, but you asked about the layout. Here is the one I use currently:
122781-0 122783-1

Offline decker

  • Thread Starter
  • Posts: 128
  • Location: Nice, France
Re: 4x10 kb Qwerty style - 35% kb
« Reply #9 on: Mon, 04 January 2016, 13:38:28 »
Yeah, but you asked about the layout. Here is the one I use currently:

Your layout -- užívať

1) Did you try puting the arrows in reversed T ? I'm surprised you put them in a 2 hans configuration.
2) What is the difference between Num lock and Keypad switch ?
3) Do the mouse buttons launch code that moves the cursor or clicks on mousse buttons ? Didn't know you could do that (ok menu is ms 2 on regular windows keyboard, but move I didn't know...)
4) I guess Program and Application are used to launch functions...
5) When you say Non-US \|, you mean the 105th key of a ISO105 keyboard, that a ANSI104 keyboard down't have, right?
« Last Edit: Mon, 04 January 2016, 14:06:20 by decker »

Offline vvp

  • Posts: 886
Re: 4x10 kb Qwerty style - 35% kb
« Reply #10 on: Mon, 04 January 2016, 14:02:26 »
1) Inverted T would be acceptable if it would be ... well maybe in a layer at home position. But really if I would need to select a new navigation cluster without any previous learned habits then it would be 4 keys in a row (like vim), not an inverted T. Anyway, the arrows are on the same positions as on Kinesis Advantage which I used for 12 years before moving to Katy.

2) Keypad switch toggles between normal layer (the picture with the white keys) and keyapd layer (the picture with the light blue keys). I.e. it works like a caps lock key. Keypad shift keys do that momentarily while they are pressed. I.e. like a shift key.

3) Some mouse buttons move cursor and others click. The keyboard looks to the operating system like two separate devices: keyboard and mouse. Menu key gives a different USB HID code than mouse RightClick. It is only a feature of MS Windows that the Menu key will do the same as a RightClick (i.e. invokes a context menu).

Offline decker

  • Thread Starter
  • Posts: 128
  • Location: Nice, France
Re: 4x10 kb Qwerty style - 35% kb
« Reply #11 on: Mon, 04 January 2016, 14:19:03 »
1) Inverted T would be acceptable if it would be ... well maybe in a layer at home position. But really if I would need to select a new navigation cluster without any previous learned habits then it would be 4 keys in a row (like vim), not an inverted T. Anyway, the arrows are on the same positions as on Kinesis Advantage which I used for 12 years before moving to Katy.

Alternate with inverted T arrows

2) Keypad switch toggles between normal layer (the picture with the white keys) and keyapd layer (the picture with the light blue keys). I.e. it works like a caps lock key. Keypad shift keys do that momentarily while they are pressed. I.e. like a shift key.

This is what I understood, put I don't get the usefullness of the "Num lock", as you already have "Keypad switch"

3) Some mouse buttons move cursor and others click. The keyboard looks to the operating system like two separate devices: keyboard and mouse. Menu key gives a different USB HID code than mouse RightClick. It is only a feature of MS Windows that the Menu key will do the same as a RightClick (i.e. invokes a context menu).
OK so menu is not like your mouse 2, I guess, I'm still surprised you can move the mouse !  :p

Offline vvp

  • Posts: 886
Re: 4x10 kb Qwerty style - 35% kb
« Reply #12 on: Mon, 04 January 2016, 14:49:49 »
Alternate with inverted T arrows
I can imagine using that. It is not too far from the home position. But I sure as hell would not want to return to the T navigation cluster on a standard 105-key keyboard. The keyboard is on the fly remap-able like Kinesis Advantage so I could change to that inverted T layout in about 2 minutes but I'm not going to :)

This is what I understood, put I don't get the usefullness of the "Num lock", as you already have "Keypad switch"
Notice that NumLock has a special functionality on any keyboard with numerical pad. It changes how OS interprets USB HID codes which are sent by the numerical pad keys/switches. It interprets them either as numerical keys (NumLock on) or as navigation keys (NumLock off). Since Katy has numerical keypad keys in the "Keypad" Layer then I need both NumLock (how should OS interpret the numerical "Keypad" layer keys) and Keypad switch to toggle byetween my "Keypad" layer and my "Normal" layer. Notice that OS does not have a clue that Program, KeypadSwitch, or KeypadShift keys exist at all but it knows about NumLock key. Thanks to KeypadSwithc/KeypadShift keys, the keyboard behaves like it would have 2*80-2*4 = 152 separate keys. To the OS the keyboard looks like a 152 key keyboard. The special Program key is used to quickly redefine what each key looks like to the OS (i.e. what USB HID code the key will emit to the OS).

OK so menu is not like your mouse 2, I guess, I'm still surprised you can move the mouse !  :p
I believe that most open source keyboard firmwares  can emulate both keyboard and mouse. So this is not probably a very unique feature of Katy. Running special keyboard programs in parallel definitely is. I believe only firmwares derived from chrisandreae's firmware can do it.

Edits in italics.
« Last Edit: Mon, 04 January 2016, 14:55:28 by vvp »

Offline jdcarpe

  • * Curator
  • Posts: 8852
  • Location: Odessa, TX
  • Live long, and prosper.
Re: 4x10 kb Qwerty style - 35% kb
« Reply #13 on: Mon, 04 January 2016, 15:09:35 »
I think I posted my JD30 design here somewhere, but I can't remember.

KMAC :: LZ-GH :: WASD CODE :: WASD v2 :: GH60 :: Alps64 :: JD45 :: IBM Model M :: IBM 4704 "Pingmaster"

http://jd40.info :: http://jd45.info


in memoriam

"When I was a kid, I used to take things apart and never put them back together."

Offline vvp

  • Posts: 886
Re: 4x10 kb Qwerty style - 35% kb
« Reply #14 on: Mon, 04 January 2016, 15:17:47 »
That must be the smallest keyboard which does not require chording yet. :cool:
Well if you are enough with writing only text.  :'(
I guess you use SpaceFn. Otherwise it would be kind of useless for anything real.

Offline decker

  • Thread Starter
  • Posts: 128
  • Location: Nice, France
Re: 4x10 kb Qwerty style - 35% kb
« Reply #15 on: Tue, 05 January 2016, 01:19:20 »
I can imagine using that. It is not too far from the home position... but I'm not going to :)

If you have some one else try it I'd be interested in knowing how often someone hits the Up key by mistake, when wanting to hit a punctuation mark.

Notice that NumLock has a special functionality on any keyboard with numerical pad. It changes how OS interprets USB HID codes which are sent by the numerical pad keys/switches. It interprets them either as numerical keys (NumLock on) or as navigation keys (NumLock off). Since Katy has numerical keypad keys in the "Keypad" Layer then I need both NumLock (how should OS interpret the numerical "Keypad" layer keys) and Keypad switch to toggle byetween my "Keypad" layer and my "Normal" layer. Notice that OS does not have a clue that Program, KeypadSwitch, or KeypadShift keys exist at all but it knows about NumLock key. Thanks to KeypadSwithc/KeypadShift keys, the keyboard behaves like it would have 2*80-2*4 = 152 separate keys. To the OS the keyboard looks like a 152 key keyboard. The special Program key is used to quickly redefine what each key looks like to the OS (i.e. what USB HID code the key will emit to the OS).
Ok, so my mistake comes from the fact I don't really know what happens on the keyboard and what happens on the OS.
If I understand correctly your saying that when one uses the button with the 1 on the left of my keyboard, and on the keypad, the keyboard sends different codes, and they are treated as a 1, because the OS has the information that its a qwerty keyboard.
Whereas if I am in azerty keyboard, the codes are the same but the left code if mapped as a different character?

So when you make a custom keyboard, you can either fix the association on the button-code (KB firmware) side or on the code-character side (OS driver).
If you change the firmware, you can go to another pc plug your kb and say its a qwerty and everything works, if you change the driver you would need to install your driver on a new computer.

I think I posted my JD30 design here somewhere, but I can't remember.

Maybe it would be better to have a layer cycler, rather than a shift key.
But still you would need so many layers just to have qwerty set of characters, it would be a pain to cycle throught them.
And you would need lights to help you remember the current layer.
Note that Enter could be replaced by a 'go to home layer', in the other layers.

Thanks

Offline vvp

  • Posts: 886
Re: 4x10 kb Qwerty style - 35% kb
« Reply #16 on: Tue, 05 January 2016, 07:29:03 »
Ok, so my mistake comes from the fact I don't really know what happens on the keyboard and what happens on the OS.
If I understand correctly your saying that when one uses the button with the 1 on the left of my keyboard, and on the keypad, the keyboard sends different codes, and they are treated as a 1, because the OS has the information that its a qwerty keyboard.
Whereas if I am in azerty keyboard, the codes are the same but the left code if mapped as a different character?
Correct, typical keyboards you find in stores send always the same USB HID codes to OS. Selecting the keyboard type in the OS e.g. qwerty versus dvorak will change the way how OS will interpret the same USB HID codes. The 1 key on the left of a typical keyboard has a different HID code than 1 key on your numpad. NumLock status changes the way 1 key on numpad is interpreted but does not change the way 1 key on the left of the keyboard is interpreted.

Some rare commercial keyboards (e.g. Kinesis Advantage) and almost all keyboards with open source firmware have special keys (like Program, LayerShift, etc) which do not send any HID code to the OS but allow to change the HID codes the keyboard is sending for other keys. They provide much more flexibility without requiring a special keyboard driver in the OS.
To see what HID codes are available on an USB keyboard you can look at this file: http://www.freebsddiary.org/APC/usb_hid_usages
Scroll down to the heading "7 Keyboard" and look at the codes under that heading. That lists all the keys a standard USB keyboard driver knows about.

So when you make a custom keyboard, you can either fix the association on the button-code (KB firmware) side or on the code-character side (OS driver).
If you change the firmware, you can go to another pc plug your kb and say its a qwerty and everything works, if you change the driver you would need to install your driver on a new computer.
That is correct.

Offline Zustiur

  • Posts: 235
Re: 4x10 kb Qwerty style - 35% kb
« Reply #17 on: Thu, 07 January 2016, 23:12:54 »
That's a very interesting list vvp. I have no idea what a magic carpet simulation device is but I know I want one.