Author Topic: I present my 30% experiment  (Read 9614 times)

0 Members and 1 Guest are viewing this topic.

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
I present my 30% experiment
« on: Sun, 28 August 2016, 04:56:20 »
I got some positive reactions to my experimental 30% lay-out (Interesting Layouts) so I figured it could do with it's own topic and continue here. I'm also quoting from that thread below.

30%
(Attachment Link)

This needs a small introduction. For my first mechanical keyboard (GH60) I bought a €52 cherry keyboard for its red Cherry MX switches. Since I had the plate left and I wanted to try to wire my own keyboard. I figured I'd use the arrow and numpad part for trying out. And  because I never got used to WASD I wanted the arrow keys for gaming since I'm old school (combined with a Logitech G502 because I'm not thát old school). So this is what I did and I got it to work with some excellent help from; Suicidal_Orange, jdcarpe, Tactile, a-c and Moistgun.

Now that I know the very basics (of wiring and TMK) I want to go a step further and make a full mini keyboard out of it. So this is my design so far. Mind I'm restricted by the numpad plate layout. If I get it to work and it's actually practical (enough) in use I might make a new lay-out with only 1u keys (thus adding a few keys).

Some important notes:
- Top row symbols: layer one*
Second row symbols: layer 2 (FN1)
Third row symbols:layer 3 (FN2)
- As you can see there's no shift key. I asked around and it might be possible to program it so that a long press on a key would represent shift. So pressing 'g' for a longer period results in 'G' ('shift g' basically). The reason I want it to be this way is that I want to prevent having to press multiple keys when I have to press an FN key to access a letter/symbol in row 2 or 3.
- When rotated 90 degrees it will turn into regular arrows and numpad (switch mode).
- I'm gonna need relegendable keys. (I'll soon start a classified)

* I chose the letters on how frequently they're used in the Dutch language. Position of the letters I did semi-intuitive.
In Dutch a lot of words end with 'en' for instance. Also for example, the words 'en' (and), 'de' (the), 'is' (is), dat (that), dit (this) are also often used. As you can see they are all accessible in layer one and the letters are close to each to easily combine them.
The same is true for the other symbols (the ones I use most frequently are easiest accessible), although I might switch them around if it's not the case in practice. But this is something for later.

As I'm writing this I see I forgot about the zero. Suggestions as where to place it are welcome. As are any other suggestions of course.  ;)

If you read my quote above you've read something about "Hold for caps" this is one of 2 concepts I conceived to save space on keyboards. It means keyboards could do with less keys or it could free up keys so they can be used for other functions. It needs some programming (something I can't) to implement these concepts in TMK and Easy AVR which hopefully will be realized in the future. This is something I talked about with Suicidal_orange. And he made a start but it is not finished yet.
QMK can be used to try out these concepts with 'tap dance' and 'timer functionalities.

Concept 1 "Hold for Caps":
Pressing a key for a longer period results in its upper case alternative.

So for example pressing the 'q' key for a longer period would result in 'Q' instead of 'q'. (long press on the q key is "shift q" basically)
Or for instance pressing '9' results in '(' and pressing ']' for a longer period would result in '}'.

Concept 2 "Hold for opposite symbols":
This is the same concept as "hold for caps" only different. ;) Pressing a particular key for a longer period results its opposite symbol.
Below are the "opposite" symbols I've recognized. If you can think of more, please let me know.
( )
[ ]
{ }
< >
! ?
' "
; :
. ,
€ $
/ \
+ - (or - _)
0 F10
1 F1
2 F2
3 F3, etc.
Home End
Page up Page down

So for example pressing the '[' key for a longer period would result in ']', pressing '<' results in '>', pressing '1' for a longer period results in 'F1'.


To-do-list:
-Program "Hold for caps"/upper case feature in QMK
-Program "Hold for opposite" feature in QMK
- coming up

Most Recent Lay-out:

http://www.keyboard-layout-editor.com/#/gists/e2cd1aa94927e6ce1e0689b5a80f3f92

Future things to look into:
- design/program new layout for 2 layer testing.
- Chording
« Last Edit: Mon, 12 September 2016, 09:08:16 by Dwarlorf »
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #1 on: Sun, 28 August 2016, 04:56:33 »
To answer questions from the 'Interesting Layouts' topic and continue here


Pretty awesome one-handed keyboard layout :)

I have a question for ya, though. Is that a pipe or an extra I (under SP)?

Its supposed to be an pipe but I think it might be a bit confusing.  :)  I guess putting the missing zero there would be equally confusing. ;D I put it on the to-do-list.

30%
As I'm writing this I see I forgot about the zero. Suggestions as where to place it are welcome. As are any other suggestions of course.  ;)

That is a pretty uncommon layout.
If you put a link on keyboard layout editor, I'll play with it.
About the 0, just put it under your 2 and put your choice of decimal mark under 3.
Use your layers on the arrows if you are missing space for some of the symbols...

Those are good ideas. I forgot about the link. Here it is: http://www.keyboard-layout-editor.com/#/gists/8ed80f297eafe92185f359740b0ebeae

About the zero. I have to do something about the pipe symbol too since it's poorly positioned (see above) Maybe I'll combine both symbols on one of the keys. I'll toy with the layout some more myself as well.

Have you experimented with a diamond-shaped arrow cluster?  If you could get the timing set up right, having upper case on long press would be a great feature.

I'm afraid I'm going to need help from others to program the upper case feature. I wouldn't know how to program it myself.

I haven't experimented with diamond shape arrows. I could always try it out. But you got me thinking. With 2 FN buttons I could go for 2 keys for the arrows to free up 2 more keys.
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #2 on: Sun, 28 August 2016, 06:23:15 »
I actually forgot about quite a few keys:
0
(
)
-
_
+
=

So I moved stuff around quite a bit. lay-out editor

Maybe I should put the & in place of the @ key and put the @ under the P. What do you think?
« Last Edit: Sun, 28 August 2016, 06:29:00 by Dwarlorf »
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: I present my 30% experiment
« Reply #3 on: Sun, 28 August 2016, 06:40:30 »
This is quite complicated to get my head round but once the firmware supports "hold for caps" (:-[) you won't need the (normally) upper symbol legends like {}:<>? as they will work in the same way as alphas - holding , will output < etc.

You've also got two FNs with no tapkeys on them, if you still don't have enough spaces...
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #4 on: Sun, 28 August 2016, 08:08:02 »
This is quite complicated to get my head round but once the firmware supports "hold for caps" (:-[) you won't need the (normally) upper symbol legends like {}:<>? as they will work in the same way as alphas - holding , will output < etc.

That's true. I have actually been pondering on that for a while. I think the hardest thing is going to be how to represent that on the keys themselves. In a situation where "hold for caps" works, from a usability point of view it would mean that "hold for caps" would work differently with the keys that feature letters than with the keys that feature symbols.

For example:

Let's say I want to have the v in capitals. It means keeping FN1 pressed and long pressing v ("hold for caps") to output V because v is is the center symbol on that keycap. (remember that top symbol needs no FN key , the one below needs FN1 and the bottom symbol FN2)

Now lets say that ( would be upper case of [. How would I represent that on the keycaps themselves?

Do I press FN1 [ and hold it for a while resulting in ( as output? That's counter intuitive because in a regular upper case situation I press shift [ and get ) as output. But with this lay-out ( is represented by pressing no FN key just the way it is with the letters.

Hmm quite confusing.  :-\ (as we say in dutch "I can't see the forest anymore because of all those trees") Maybe visualizing it makes it clearer. ("    " is no key press)

30% as it is now:
"    "   a
FN1    v
FN2    z

No capitals  :(

"    "   (
FN1    [
FN2    {

30% as it would be with "hold for caps":
"    "                  a
FN1                   v
FN2                   z

"     " + "hold for caps"  A
FN1 + "hold for caps"    V
FN2 + "hold for caps"    Z

vs:
 
"Hold for caps"  (
"    "                   [
FN2                   {

or maybe

" FN1 + Hold for caps"  (
"    "                              [
FN2                              {

or.....

Which option to decide for? And even if you decide on one it would still be different from the way it works with the letter keys.


You've also got two FNs with no tapkeys on them, if you still don't have enough spaces...

Yes but I actually removed them cause I thought it might be confusing since those FN keys are gonna be used so regularly but it is still an option if need be.
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: I present my 30% experiment
« Reply #5 on: Sun, 28 August 2016, 08:21:50 »
What about using left and right legends - normal press on the left and hold on the right?  Not sure how much space you have on a relegendable cap but that would be easiest to see what's going on if it fits.

You've raised an interesting point about keys with implied shift though, I'll have to bear that in mind.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #6 on: Sun, 28 August 2016, 09:25:04 »
What about using left and right legends - normal press on the left and hold on the right?  Not sure how much space you have on a relegendable cap but that would be easiest to see what's going on if it fits.

I think that's actually the best option because it would free up more keys. And it might be more intuitive with certain symbols as well. For example ( is usually followed by ). So with "hold for caps" you can put them on the same key which is more logical.

Maybe it even allows for cutting some keys for a more compact design eventually. Turning it into some sort of a mini planck keyboard. Or into a mini ergonomic keyboard.

I'd say there is enough space on those relegendable caps they seem very square and spaceous.

Working on it: http://www.keyboard-layout-editor.com/#/gists/e2cd1aa94927e6ce1e0689b5a80f3f92
« Last Edit: Sun, 28 August 2016, 10:05:14 by Dwarlorf »
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline decker

  • Posts: 128
  • Location: Nice, France
Re: I present my 30% experiment
« Reply #7 on: Sun, 28 August 2016, 12:28:39 »

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #8 on: Sun, 28 August 2016, 14:21:46 »
My take :

30% with colors
Show Image


Interesting lay-out. I guess it all depends on how you expect to use your hand(s). To me it feels that the FN keys are too far away from the keys I want to press.
Fancy colors btw.  You've inspired me to use some colors too. :D

146591-0
keyboard lay out editor
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline decker

  • Posts: 128
  • Location: Nice, France
Re: I present my 30% experiment
« Reply #9 on: Sun, 28 August 2016, 16:40:25 »
Interesting lay-out. I guess it all depends on how you expect to use your hand(s). To me it feels that the FN keys are too far away from the keys I want to press.
Fancy colors btw.  You've inspired me to use some colors too. :D

Hand wise, I was assuming left hand only and try to use the thumb for FNs...
By the way the colors are the ones I am trying to use in my Personal Layout Archive.
When you color code the keys I feel the ideas behind the layout are quicker to read.
PS : The colors are just for layout not real keyboards

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #10 on: Sun, 28 August 2016, 17:11:00 »
Interesting lay-out. I guess it all depends on how you expect to use your hand(s). To me it feels that the FN keys are too far away from the keys I want to press.
Fancy colors btw.  You've inspired me to use some colors too. :D

Hand wise, I was assuming left hand only and try to use the thumb for FNs...
By the way the colors are the ones I am trying to use in my Personal Layout Archive.
When you color code the keys I feel the ideas behind the layout are quicker to read.
PS : The colors are just for layout not real keyboards

I figured you were thinking about using one hand. I tried your lay-out using my left hand only. Problem for me personally is that my hand is hovering above the keys and I can't see them. I'm very visual and I have a hard time remembering key positions. I can't blind type either so I'm always looking at my keyboard. I'm using both hands so.

But there's nothing wrong in evolving this into two different lay-outs. We can focus on 1 handed control as well as 2 handed control.

The colors are indeed very helpful in recognizing key functionality quickly. I like your Personal Layout Archive. Some nice layouts.
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #11 on: Mon, 29 August 2016, 06:33:05 »
I've done some tweaking. There are a few symbols that are each others 'opposites' which makes them very suitable for "hold for caps" They are:
[ ]
{ }
< >
! ?
' "
; :
. ,
€ $

So I grouped them together.

146613-0
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: I present my 30% experiment
« Reply #12 on: Mon, 29 August 2016, 07:21:35 »
Interesting, like decker I was thinking this was a one hand build - you must have small hands :)

Are you using a Dutch keymap setting?  I only ask because none of those 'hold' pairings match up to the UK-ISO (almost idetical to ANSI) I'm used to seeing.  'Hold for caps' will output the shifted version of a key so 5 will not be F5, it will be the symbol above 5 (% for me)

I agree that it would make sense to have the pairs you've shown but it will require something different in the firmware - perhaps split the 10 layers available in two so layer 1 uses layer 6 when held, 2 uses 7 etc?
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #13 on: Mon, 29 August 2016, 10:02:37 »
My hands are not particulary small. Although I've been told once I have female hands. Let's say I'm just a little bit odd.

I'm actually using US International setting. Language EN. But I have an ISO layout. There's no strange awesome keyboard settings we Dutch keep to ourselves (unless I'm not in the loop). I'm just letting my creativity flow but I guess I'm also leaking rational thinking. ;)

You're right that this is not "hold for caps". Let's park "my opposite symbols" for the future. But I do have big plans.

I'll go back to designing 1 and 2 handed layouts for "hold with caps" for now.

I agree that it would make sense to have the pairs you've shown but it will require something different in the firmware - perhaps split the 10 layers available in two so layer 1 uses layer 6 when held, 2 uses 7 etc?

That would be an option indeed. I actually wonder how many people use more than 3/4 layers, 9 layers seem so much.
« Last Edit: Mon, 29 August 2016, 11:26:22 by Dwarlorf »
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline Hydra04

  • Posts: 32
Re: I present my 30% experiment
« Reply #14 on: Mon, 29 August 2016, 14:27:25 »
I just realized that your nickname is Dwarflord, the 30% concept makes much more sense now :eek:

However, I think that it would be a bit difficult to use that kb with both hands.
May I ask you why you didn't choose to use the alphabetical order for the letters? It would have been similar to a cell phone keyboard (T9) i.e. more immediate.

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #15 on: Mon, 29 August 2016, 16:12:21 »
I just realized that your nickname is Dwarflord, the 30% concept makes much more sense now :eek:

However, I think that it would be a bit difficult to use that kb with both hands.
May I ask you why you didn't choose to use the alphabetical order for the letters? It would have been similar to a cell phone keyboard (T9) i.e. more immediate.

You really have to look more closely to my nick.  I'm a dwar-lorf! We're bigger than dwarves.  ;D

I didn't really consider alphabetical order but I don't think that would be practical because of the use of FN keys. That's why I opted for a system in which the most frequently used letters don't need FN keys and vice versa. That wouldn't work if I would use alphabetical order. But I suppose it is possible to put all letters on layer 1 but that is something I don't want to do. It's really about most used and least used letters/symbols.

I actually tried out the hand positions and it feels quite comfortable with two hands. I also tried Decker's layout for one hand and although I do like his idea it didn't feel comfortable. I think the FN keys should be a bit more central positioned for it to work with one hand. I intend to experiment with that a bit more as well.

I see this project mainly as a way of exploring different possibilities of keyboard design and to see how far I can go with minimizing before it would be too impractical. And because this is all new to me I also see it as a way to get to learn TMK and everything else. I actually like the fact that I can fool around using my brains (thinking about layouts) and my hands (soldering and wiring) and stuff.

This project is kind of a result of my idea of "hold for caps" which I talked about with Suicidal_Orange and I want to explore (further). And as you can read in my post above this endeavor also led me to the idea of "opposite symbols" which I think would benefit other peoples designs as well. After this project I want to go for even less keys (I already have a design ready) which would be a specially designed layout that doesn't have the physical limitations of this numpad lay-out.
« Last Edit: Mon, 29 August 2016, 22:51:21 by Dwarlorf »
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #16 on: Wed, 31 August 2016, 05:03:23 »
Welcome to the wonderful world of internet where everything you think you thought of first already exists.  ;D

QMK Firmware has features like Timer Functionality ("Hold for Caps") and Tap Dance (same concept as "Hold for opposites" but with multiple key taps instead of long pressing).

http://qmk.fm

Back to the drawing board. ;)
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: I present my 30% experiment
« Reply #17 on: Thu, 01 September 2016, 12:28:19 »
Interesting, though I'm not sure how well tapdance will work for caps - if you go too fast you will type like an illiterate gamer.  e.g. did you fEl haPy when your DIY tOl frEd the whEl?? :))
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #18 on: Thu, 01 September 2016, 13:14:14 »
Interesting, though I'm not sure how well tapdance will work for caps - if you go too fast you will type like an illiterate gamer.  e.g. did you fEl haPy when your DIY tOl frEd the whEl?? :))

 We can't have that.  :D It was one of my concerns too. And in Dutch plenty of double vowels are used so I'm not sure either how practical it is.
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #19 on: Sun, 11 September 2016, 10:47:55 »
A little bit closer in finishing this experiment. I got 40 relegendable caps from forum member romevi and I printed the legends. What's left is programming in QMK. I also fabricated a makeshift case.
« Last Edit: Sun, 11 September 2016, 10:51:06 by Dwarlorf »
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline regack

  • Posts: 660
  • Location: Thessia
Re: I present my 30% experiment
« Reply #20 on: Sun, 11 September 2016, 19:48:46 »
Those are interesting relegendable caps, are they completely flat on top?  I like this crazy 30% project, it's interesting.

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #21 on: Mon, 12 September 2016, 02:38:15 »
Those are interesting relegendable caps, are they completely flat on top?  I like this crazy 30% project, it's interesting.

Yes, they are completely flat and there's plenty of space for legends.

I hope to have this project completed somewhere next week unless programming it will turn out harder for me than I expect.
Then I can actually try it out to see if its practical at all to work with.
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #22 on: Mon, 12 September 2016, 08:21:30 »
Well, I've actually have been able to program the basic functionalities now thanks to IBNobody's help. The three different layers with letters and other symbols. And I did some typing as well just to see if its doable. It is to a certain extent.

Some difficulties I encountered:
* It surely needs practicing a lot. It takes a while to get used to the different letter positions. But I guess practice make perfect. But..
* ... accessing the third layer of letters (least used letters) with the second FN button is very hard getting used to. I think it would be easier if there were only two layers. My future project will actually take care of that problem ;)
* Placement of Space and Enter keys is not logical. I believe they should be on similar positions as with regular keyboards. So the Space key on the bottom row in center position and the Enter key somewhere on the right side. Preferably they should be a bit bigger than 1u too but that's not possible for now because of the size of the relegendable key caps (1u).



  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline regack

  • Posts: 660
  • Location: Thessia
Re: I present my 30% experiment
« Reply #23 on: Mon, 12 September 2016, 08:35:28 »
Well, I've actually have been able to program the basic functionalities now thanks to IBNobody's help. The three different layers with letters and other symbols. And I did some typing as well just to see if its doable. It is to a certain extent.

Some difficulties I encountered:
* It surely needs practicing a lot. It takes a while to get used to the different letter positions. But I guess practice make perfect. But..
* ... accessing the third layer of letters (least used letters) with the second FN button is very hard getting used to. I think it would be easier if there were only two layers. My future project will actually take care of that problem ;)
* Placement of Space and Enter keys is not logical. I believe they should be on similar positions as with regular keyboards. So the Space key on the bottom row in center position and the Enter key somewhere on the right side. Preferably they should be a bit bigger than 1u too but that's not possible for now because of the size of the relegendable key caps (1u).





I suppose you could reprogram it to test, making 2*1u keycaps on there for now.  Use something temporary to bridge the keys just to test.  I'm not sure if QMK or TMK can support Chording, but I seem to remember someone working on a chording project at some point, your 30% seems like it'd be a good platform for that.

Offline Dwarlorf

  • Thread Starter
  • Posts: 100
  • Location: NL
Re: I present my 30% experiment
« Reply #24 on: Mon, 12 September 2016, 08:58:46 »
I suppose you could reprogram it to test, making 2*1u keycaps on there for now.  Use something temporary to bridge the keys just to test.  I'm not sure if QMK or TMK can support Chording, but I seem to remember someone working on a chording project at some point, your 30% seems like it'd be a good platform for that.

I might do that in the near future. But first I do want to learn about all those other features in QMK like tapdance, timer functionality and such. I still need them for the other features I want to implement.

As to chording, that's a very interesting principle but it seems a little bit too complex for me at this point. But it's definitely something I will keep in mind for later. I added it to my list (see first post)

But keep those suggestions coming.  :thumb:

A peek into my next project:
148077-0
« Last Edit: Mon, 12 September 2016, 09:16:20 by Dwarlorf »
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red