It's the keyboard layout.


Here is another version: http://www.keyboard-layout-editor.com/#/layouts/e6d10b1072458a3f7d568bd437478d5b

I brought back the dedicated tab, removed the dead bar and double-acute, put `~ at Meta+Q, dead grave/tilde at Meta+AZ. Hungarians could have an unlabeled double acute at Shift+Meta+A; I added an explicit Ł for the Polish and Đ for those who need it.

This is how it would look if you wouldn't label the "foreign" stuff:

http://www.keyboard-layout-editor.com/#/layouts/3bb4ef1b3e07d0a798edb5da46ef2dd6

In my opinion, having those dozen or so extra letters labeled does not really hurt -- it's a bit of a visual distraction, but as long as those labels are less prominent than those for the ASCII symbols, it's OK for me. And having them labeled really helps a lot for people who need those symbols, because it means they can use the keyboard out-of-the-box without having to remap and/or remember anything.

Is there a technical reason f11/12 cant be with the other like backspace/return ?

Are the square brackets or curly braces under meta shift?

I'd have thought curly braces more used than square ?

While email/letter writing is possibly more popular than coding, having all those coding symbols on the same keys doesn't look ideal, but it remains to be seen how easy or not chording meta/shift is on a Pyra keyboard...
No, F11/F12 could be on Backspace/Enter. I do think it's nice to keep those keys free of Meta labels, because 1) it looks nicer, and 2) I can imagine applications or games where you want to use the shoulder buttons and Tab and/or Enter, and then you might get weird interferences.

The curly brackets are under Meta+Shift, just like { } are Shift+[ ] on a regular US-QWERTY keyboard. Which ones are more used depends heavily on what type of text you are inputting. For programming (especially in e.g. Java or C), { } are more common; for most other uses, [ ] are more common. See also: http://mdickens.me/typing/theory-of-letter-frequency.html

I've added a "hidden default symbol" row in the comparison matrix:

https://docs.google.com/spreadsheets/d/14mVNNzLhmhyA4sCIAPSoDv404xtctfLSiEMTtTlEzfw/edit

This goes to show how Meta(or Fn)+Shift will work for the keyboards.  I've noticed comradekingu is making his own Pyra-default AltGr layer, so that's where that can go, too. 

I've included a hidden section symbol and degree symbol on certain keys, for the Germans, as well as a capital Omega (for whenever you might need to talk about your Ohms) and lowercase mu (for all your micro-measurements):

http://www.keyboard-layout-editor.com/#/layouts/9808194c728816b80c2e760b68e8f661

"DosBox" compatibility:  Usually I pair up shifts, so that [] goes to {}, but where there is no default (what does shift+{} go to?), well, I chose something else.  The astute reader will notice that - does not go to _, but this is because I am using the numpad - which has no default shift.  Using that trick, we could also switch the shift+/ to be something else.
I don't really like the idea of hidden symbols, especially not if they're in quasi-random, hard to remember places. E.g. ç and ñ hidden on Meta+C and Meta+N makes sense, and so does ¿ on Shift+? (but where is ¡ then?), but how do you expect people to know or remember that Ω is at Shift+~ and ° § are at Shift+{ } ?

If those extra symbols are not labeled, chances are that people will just assume that those symbols cannot be typed (a rather reasonable assumption, I would say), and use some other method to input them (e.g. Compose or "Insert special symbol"). They might accidentally type those symbols, and then they will probably say to themselves "hey, how did I end up typing a ¶ here? there must be some weird bug in this program!".

So I rather have such non-ASCII symbols either unlabeled and not in the default keymap, or labeled and in the default keymap, but not unlabeled and in the default keymap, because that contributes more confusion than utility imo.

I may be contradicting myself (from a few days or weeks ago) in this respect ;)
 
  • Like
Reactions: szr
I would agree with you for symbols that people will commonly use.  That's why I only put rare symbols on the hidden layer...

I don't like putting hidden symbols on things, unless they have a nice mnemonic.  Shift+tilde = Omega is not the mnemonic, but instead Shift+Meta+W = Omega.  (Omega is capital meta W.)  Shift+meta+M = mu is a little worse in that respect (since capital mu is M), but it's still fairly memorable.  Putting ° on Meta+Shift+D is for "Degrees", as in degrees celsius (°C) or fahrenheit (°F), which it has close proximity to as well (bonus!).  Meta+Y = Yen is also pretty easy.  Meta+Shift+P = paragraph sign, sure.  Meta+Shift+F = Section sign is the most atrocious of all my hidden characters, without much rhyme or reason.  But it's there in a fairly unobtrusive place, close to the degree symbol, for the Germans who want it.  (Oh, and « being at Shift+< seems pretty nice, at least for my <> on Meta+,. layout.)

The idea behind hidden symbols is that you can change them at your whim, without having to stare at a keymat that has symbols you don't want ;) .  Just time travel back a week to hear the arguments from yourself :D
 
Last edited by a moderator:
I don't think there's any harm in having some unlabelled symbols, (eg the "foreign" letters as shown in _wb_'s post above) as long as there is a key available.

This could be as simple as an image file linked from the desktop by default.

Of course I still think it would be a nice idea to include a userspace program that could be toggled via the configbutton that displays a keyboard map of whatever symbols are available through meta+ combos on an framebuffer overlay layer whenever Meta is pressed.    This would be especially useful if it dynamically generates the map based on the xkb data so that it always shows the correct layout even if the user remaps it. Once the users learn where their most commonly used keys are I expect they'd  keep it switched off most of the time.

- Neelix
 
I would agree with you for symbols that people will commonly use.  That's why I only put rare symbols on the hidden layer...

I don't like putting hidden symbols on things, unless they have a nice mnemonic.  Shift+tilde = Omega is not the mnemonic, but instead Shift+Meta+W = Omega.  (Omega is capital meta W.)  Shift+meta+M = mu is a little worse in that respect (since capital mu is M), but it's still fairly memorable.  Putting ° on Meta+Shift+D is for "Degrees", as in degrees celsius (°C) or fahrenheit (°F), which it has close proximity to as well (bonus!).  Meta+Y = Yen is also pretty easy.  Meta+Shift+P = paragraph sign, sure.  Meta+Shift+F = Section sign is the most atrocious of all my hidden characters, without much rhyme or reason.  But it's there in a fairly unobtrusive place, close to the degree symbol, for the Germans who want it.

The idea behind hidden symbols is that you can change them at your whim, without having to stare at a keymat that has symbols you don't want ;) .  Just time travel back a week to hear the arguments from yourself :D
Yeah, I changed my mind though ;)

How is Omega capital W? It's a long O, or as it's the last letter of the Greek alphabet, it reminds me a bit of Z, but W? Is that because lowercase omega looks a bit like a round w ?

Anyway, no matter how great the mnemonic, people will just not know about those hidden symbols, or they will forget. I have encountered Pandora users who didn't know that PgUp/PgDn is on their action buttons, or that Shift/Ctrl are on the shoulder buttons. If it's not labeled, it does not really exist.
 
If they forget (or don't know), that's fine.  They will find another way to input their symbols.  For people who care, though, or who like to tinker, it's there not to be intrusive.

If you use the "Symbol" font, W is Omega.  Also, in Mathematica Esc+W+Esc = Omega.
 
Im one of those users, because PageUp PageDn Home End really has nothing to do with buttoncluster. Why in the world would I even try that?

Its a good idea, and it works for advanced users, who are the ones in need of it, but put in a manual somewhere.

There is a very big difference between having it not visual, and activly trying to hide it.

Edit: So the international users want dedicated buttons, and the english users dont want to see foreign letters. Ed doesnt want to see foreign diactrics-symbols.

Any amount of junk math, bogus symbols, and overall thinking, isnt going to change that visual symbols everywhere, no dedicated letters, and even less

dead diactrics, isnt good for anyone.

Trust me, the second you actually show any layout to a novice users, you forget the idea of "very good" very fast.

If you actually listened to community at large or the people who actually speak the languages you claim to be working we would actually get somewhere, and produce

things that hold up over time, rather than things that are incompatible one week to the next.

Can we stop doing pic related:

51tcyiEZ0SL._SY355_.jpg


They learnt from their mistakes, why do we have to re-implement what made it broken?

Edit: And no, colour doesnt change a thing.
 
Last edited by a moderator:
I'm one of those types who won't even want a compose button because I would probably accidentally trigger it and end up with garbage, and be annoyed.  (I'd like to be able to turn it off, at least.)

By comparison, triggering a hidden symbol by accident is not nearly as bad, because it doesn't put your keyboard into a different mode.

As for upside down !, well the Spanish will use AltGr+Shift+1, which will probably be their default keymapping.  This is only possible, of course, if ED doesn't use AltGr for the modifier which we are calling Meta or Fn.

[edit -- thanks to comradekingu for correcting my spanish difficulties]
 
Last edited by a moderator:
Of course I still think it would be a nice idea to include a userspace program that could be toggled via the configbutton that displays a keyboard map of whatever symbols are available through meta+ combos on an framebuffer overlay layer whenever Meta is pressed.    This would be especially useful if it dynamically generates the map based on the xkb data so that it always shows the correct layout even if the user remaps it. Once the users learn where their most commonly used keys are I expect they'd  keep it switched off most of the time.
That is a good idea indeed. It could be something like gkbd-keyboard-display. It would indeed be pretty useful for remappers and also to show hidden symbols, if we end up doing that.

What is the reason why people are opposed to having non-English letters labeled? Is it because it looks ugly, or is it because it means you have symbols on the keymat that you're not using? Or some other reason?

I like this Tab-as-meta-on-space so much I went to the matrix table and gave the "dedicated tab key" a negative value.
Wait, what?

How can Tab as a Meta key ever be better than a dedicated Tab? On the Pandora, I mapped Alt-Tab and Shift-Alt-Tab to Ctrl+Up/Down just to avoid having to do the Fn+Space mashing all the time.

If you don't really need Tab very often, Meta+Space is good enough I guess, but if you're doing lots of tab completion and indentation, having a dedicated Tab key is really nice. I could see how you would give "dedicated tab key" a weight of zero (e.g. if you don't care about Tab at all), but giving it a negative weight is just weird if you ask me.
 
The reason I don't like having all the international symbols on there is because:

To be complete [i.e. not miss some vowels/consonants], you need to fill the entire keyboard with Meta symbols.  And even then each language will only use a small fraction of what you put on the keyboard.  You end up cluttering the whole keyboard with symbols when no single person will use all of them.  And even then you still won't get everything.  

Also, each language probably has some good defaults under AltGr somewhere, which are probably already standard.  (So as long as ED doesn't use AltGr for the modifier, they are ok.)  Hackers can use the tool Neelix is promising to develop to set their own mappings with Meta if they are not happy with the AltGr possibilities.

[edit]

German gets a pass because ED is cool.
 
Last edited by a moderator:
You can get complete coverage of interlingual things, German, Italian, French if you have FN available as a modifier on all buttons and AltGr in addition to that.

The problem is the French use numbers as dedicated buttons for diactrics, which is a prime position for fkeys (FN+)

Not considering French, there are zero hacks, because you can do it all with AltGr+hidden. Even with the tradable keys already included, so that you are free to swap in extra letters there.
 
Last edited by a moderator:
I like this Tab-as-meta-on-space so much I went to the matrix table and gave the "dedicated tab key" a negative value.
Wait, what?

How can Tab as a Meta key ever be better than a dedicated Tab? On the Pandora, I mapped Alt-Tab and Shift-Alt-Tab to Ctrl+Up/Down just to avoid having to do the Fn+Space mashing all the time.

If you don't really need Tab very often, Meta+Space is good enough I guess, but if you're doing lots of tab completion and indentation, having a dedicated Tab key is really nice. I could see how you would give "dedicated tab key" a weight of zero (e.g. if you don't care about Tab at all), but giving it a negative weight is just weird if you ask me.
Its no big deal for me to use meta as long its on a shoulder button, since I want to get a good workflow with using them instead of the modifiers on the primary keyboard. I think putting Tab there will make it easier to reduce the clutter since we have one additional key more.

But well I changed it to zero since its no problem to have it dedicated tho, still prefering the meta variant.
 
What is the reason why people are opposed to having non-English letters labeled? Is it because it looks ugly, or is it because it means you have symbols on the keymat that you're not using? Or some other reason?
It does give the keyboard a cleaner look,  for sure, and that's obviously important to some.  I don't see that as critical myself, though to be honest I can see the value of having the commonly used symbols  and the diacritics on the meta layer stand out because they aren't lost in a sea of other symbols that I don't care about.

My main argument is that it allows greater freedom to remap those keys to ones own preferences without getting confused by conflicting symbols on the keys.  While this default layout gives good general coverage of a number of languages it isn't necessarily optimal for any given language, (except English) so it makes sense that some users would want to remap these keys to something that works better for them when inputting their own language.

Hackers can use the tool Neelix is promising to develop to set their own mappings with Meta if they are not happy with the AltGr possibilities
I'm afraid I lack the skill to develop it myself. :(   The best I can do at this point is put the idea out there and hope someone will like it well enough to want to pick it up.

- Neelix
 
You cant physically move the key either, for AZERTY keymap, without having the same confusion you get for normal remapping.

If you look at just english, which is half the audience, most of them are monolingual, the added visual noise is just bad for that reason alone.

This is the list of input, obviously where its used, its preferred.

1. Dedicated keys

1.1 things you can combo-press because its next to shift

2. AltGr+

2.1 things you can combo-press because its next to AltGr

3. ^ key or other dedicated 2 combos OR

4. Shift+AltGr+

5. 3 combo compose OR

6. Special tricks with AltGr+

So we can have all the interlinguals at nr 2, even if you trade dedicated keys at 1, which is the only option, and you still have those

keys at 2.

For spanish you need 4, which is no different from what spanish is used to.

---------------------------------------------------------------------------------------------

Above this line English, German, Italian and Spanish are covered in the most standard way possible.

3 has the problem of not being possible by default with the amount of keys, if you don't want to disturb 1

Yet 3 is as possible as 1 is, you get three things to do either with, four if you give up keyboardshift.

With 5 covering everything, we can inadvertently implement a whole lot of things we don't have the manpower to take into consideration.

With 6 you can get even more diactrics, and do some special things. This is however very much for the smallest and least latin-script nations.

And most most importantly, by hiding the AltGr layer on buttons, it looks less like a toy keyboard, and we don't put our eggs in the basket.

Hidden layer can be changed if a flaw is discovered, with printed stuff everywhere, that isnt possible without hardware efforts.
 
Last edited by a moderator:
I'm a co-developer of X-tile - amongst other things

Its a python applet to tile windows, I ended up doing a lot of low-level X11 C library calls, so it ended up teaching me a lot (more that I maybe wanted!) about X11 at such a low level.

Changing keymaps "on the fly" is certainly possible, and even the option of just changing a few keys in a map...

However what is really needed more than anything else is a clear vision of just what such a custom keyboard tool should do and for that matter what it shouldn't do

These requirements would probably be better discussed on another thread - however discussions here are likely to be rather germane to the design of such a tool.
 
@Neelix:  sorry for throwing you under the bus, I'm actually happy to work on such a keyboard program myself (though I may not be the one to get it out the door first).  I will probably try out my layout (ible 3) regardless of what gets put on the keymat, so I'd like to have a nice gui program to help change things.

I'm enjoying looking at various keyboards.

It makes me think that a nice way to put mu on the keyboard would be to put it at AltGr+M, and things like ² should go on AltGr+2.  I suppose in the case of the former it doesn't hurt to also have it at Meta+Shift+M.
 
Last edited by a moderator:
The reason I don't like having all the international symbols on there is because:

To be complete [i.e. not miss some vowels/consonants], you need to fill the entire keyboard with Meta symbols.  And even then each language will only use a small fraction of what you put on the keyboard.  You end up cluttering the whole keyboard with symbols when no single person will use all of them.  And even then you still won't get everything.  

Also, each language probably has some good defaults under AltGr somewhere, which are probably already standard.  (So as long as ED doesn't use AltGr for the modifier, they are ok.)  Hackers can use the tool Neelix is promising to develop to set their own mappings with Meta if they are not happy with the AltGr possibilities.

[edit]

German gets a pass because ED is cool.
German gets a pass, but not Spanish and French?

That does not make sense to me.

The 6 official languages of the UN are: Arabic, Chinese, English, French, Russian, Spanish.

Arabic, Chinese and Russian do not use a Latin alphabet, so we can't hope to cover those, but English, French and Spanish we can cover quite easily: we just need éèàçñ and some diacritics.

Removing the "clutter" of the more obscure letters (Æ Ø Å Đ Ł), we would get something like this:

http://www.keyboard-layout-editor.com/#/layouts/ec5f7a737b72261c295b823b52ce73e3

~1200 million people speak English

460 million people speak Spanish

336 million people speak Portuguese

274 million people speak French

over 150 million people speak Swahili

145 million people speak German

73 million people speak Tagalog (Filipino)

64 million people speak Italian

28 million people speak Dutch

~17 million people speak Afrikaans

That means 2674 million people can type their language well without needing any remapping or having to remember unlabeled things (English, Spanish, Portuguese, French, Swahili, German, Tagalog, Italian, Dutch, Afrikaans).

If you remove the letters and keep only the diacritics, those languages can still be typed (e.g. by doing tilde+n to get ñ or umlaut+u to get ü), but it becomes a lot less efficient. Only the ones in bright green remain efficient with diacritics-only (1459 million).

If you remove also the diacritics, then all of the above become near impossible to type except English and Swahili (1350 million).

So roughly speaking, the amount of people who can write their language (efficiently) roughly doubles by adding the diacritics (at least ′ ` ¨ ~ ˆ, preferably also ¸ .ˇ ) and dedicated Meta-keys for ñçéèàüöäß.

Sorted from most important to least important extra letters, I think this would be roughly the right order:

ñ ç é è à ü ö ä ß å Ł æ ø Đ

Here's the link to the big table again, for convenience:

https://docs.google.com/spreadsheets/d/14mVNNzLhmhyA4sCIAPSoDv404xtctfLSiEMTtTlEzfw/edit?usp=sharing
 
Changing keymaps "on the fly" is certainly possible, and even the option of just changing a few keys in a map...

However what is really needed more than anything else is a clear vision of just what such a custom keyboard tool should do and for that matter what it shouldn't do

These requirements would probably be better discussed on another thread - however discussions here are likely to be rather germane to the design of such a tool.

I'd also recommend checking out MrConfusion's thread "THE Fn-key" where he explores keyboard mapping implementation options.

(I almost overlooked it as being yet another keyboard layout thread, based on the thread title,  but it's definitely one worth following)

- Neelix
 
Last edited by a moderator:
Of course I still think it would be a nice idea to include a userspace program that could be toggled via the configbutton that displays a keyboard map of whatever symbols are available through meta+ combos on an framebuffer overlay layer whenever Meta is pressed.    This would be especially useful if it dynamically generates the map based on the xkb data so that it always shows the correct layout even if the user remaps it. Once the users learn where their most commonly used keys are I expect they'd  keep it switched off most of the time.

- Neelix
Could'be a really nice feature.

What is the reason why people are opposed to having non-English letters labeled? Is it because it looks ugly, or is it because it means you have symbols on the keymat that you're not using? Or some other reason?

I do not want to see non-english letters labeled because :

 - This did not look really nice

 - I'll not use all those symbols

 - Some letters are misplaced and/or missing (no big deal but, if I have to (re)map them, I don't need them to be labeled)
 
The reason I don't like having all the international symbols on there is because:

To be complete [i.e. not miss some vowels/consonants], you need to fill the entire keyboard with Meta symbols.  And even then each language will only use a small fraction of what you put on the keyboard.  You end up cluttering the whole keyboard with symbols when no single person will use all of them.  And even then you still won't get everything.  

Also, each language probably has some good defaults under AltGr somewhere, which are probably already standard.  (So as long as ED doesn't use AltGr for the modifier, they are ok.)  Hackers can use the tool Neelix is promising to develop to set their own mappings with Meta if they are not happy with the AltGr possibilities.

[edit]

German gets a pass because ED is cool.
I think this is just about the same I wrote in an earlier post.

This is how it would look if you wouldn't label the "foreign" stuff: http://www.keyboard-...8edb5da46ef2dd6
This looks decent. I'd remove the ◌ labels though and it would be nice if it could be all single modifier keys like in this keyboard http://www.keyboard-layout-editor.com/#/layouts/207288cf6cf433f297de3c1ffbb1d1ba

But then all room for the non english labels would be gone ;)

What is the reason why people are opposed to having non-English letters labeled? Is it because it looks ugly, or is it because it means you have symbols on the keymat that you're not using? Or some other reason?
Both in my case :)

I think it's quite different to have a ` next to a letter instead of an ä in regards to clutter.
 
Back
Top