Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] A more standard Spanish keyboard? #845

Open
tptasev opened this issue Dec 23, 2024 · 4 comments
Open

[Feature request] A more standard Spanish keyboard? #845

tptasev opened this issue Dec 23, 2024 · 4 comments
Milestone

Comments

@tptasev
Copy link

tptasev commented Dec 23, 2024

I love the app, but the Spanish keyboard layout is quite illogical and very different from standard layouts. Could I suggest it be more like the standard "Spanish (Spain)" IBM or Mac keyboard?

Using @Lixquid's tool, I have created a layout which I think would be much better. It follows the IBM Spanish (Spain) keyboard as closely as possible, which is also very similar to the Mac layout. I have included a few non-Spanish characters (ߧœæ«»µ¤ß£) for compatibility with French, German, Portuguese, and English (quite useful in Europe).

Unfortunately, I lack the programming knowledge to add it here on GitHub. (Sorry, I'm an expert in Spanish but not in GitHub.) Here is the code for my suggested "Español (España)" layout:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<keyboard name="QWERTY (Español-España)" script="latin">
  <row>
    <key key0="q" key1="esc" key2="1" key3="¡" key4="!"/>
    <key key0="w" key1="&quot;" key2="2" key3="|" key4="\@"/>
    <key key0="e" key1="·" key2="3" key3="€" key4="\#"/>
    <key key0="r" key1="$" key2="4" key3="£" key4="accent_tilde"/>
    <key key0="t" key1="%" key2="5" key3="¤" key4="€"/>
    <key key0="y" key1="&amp;" key2="6" key3="redo" key4="¬"/>
    <key key0="u" key1="/" key2="7" key3="\\"/>
    <key key0="i" key1="(" key2="8" key3="¿" key4="\?"/>
    <key key0="o" key1=")" key2="9" key3="'" key4="`"/>
    <key key0="p" key1="=" key2="0" key3="^" key4="~"/>
  </row>
  <row>
    <key key0="a" key1="tab"/>
    <key key0="s" key1="ß" key2="§"/>
    <key key0="d" key1="º" key2="ª"/>
    <key key0="f" key1="æ" key2="œ"/>
    <key key0="g" key1="«" key2="»"/>
    <key key0="h"/>
    <key key0="j" key1="+" key2="*"/>
    <key key0="k" key1="[" key2="]"/>
    <key key0="l" key1="{" key2="}"/>
    <key key0="ñ" key1="accent_grave" key2="accent_circonflexe" key3="accent_aigu" key4="accent_trema" key7="accent_tilde"/>
  </row>
  <row>
    <key width="1.5" key0="shift" key2="loc capslock"/>
    <key key0="z" key1="&lt;" key2=">" key3="undo"/>
    <key key0="x" key3="cut"/>
    <key key0="c" key1="Ç" key2="ç" key3="copy"/>
    <key key0="v" key3="paste"/>
    <key key0="b" key3="pasteAsPlainText"/>
    <key key0="n" key2=";" key4=","/>
    <key key0="m" key1="µ" key2=":" key4="."/>
    <key width="1.5" key0="backspace" key2="delete" key3="-" key4="_"/>
  </row>
</keyboard>
@Julow
Copy link
Owner

Julow commented Dec 29, 2024

Here's how your layout looks:
shot

I have some suggestions:

  • The editing actions (copy, paste, ...) are not present in any other standard layout and should be removed for now.
  • The dead keys on the ñ key are close to the edge of the screen and might be hard to type. It would be easier if they were under the thumbs (best places are the d, f, j, k keys)
  • Other important symbols that are too hard to type: ¡, -, _
  • accent_tilde is less useful if ñ is also on the layout. It shouldn't be here, people would use the compose key or other features if they needed it.
  • € is present twice on the layout.
  • ß should probably be loc ß so not everyone see it, only people who need it. Same for £
  • Ç is already shift+ç, no need to add it to the layout.

@tptasev
Copy link
Author

tptasev commented Dec 29, 2024

Thanks, @Julow, for such a comprehensive analysis! I have taken your comments to heart and made a new, simplified version which responds to all your your suggestions. See it at the end of this comment.

Before continuing, here is the original Spanish-Spain PC keyboard, which I used as my model:

image

Many of my choices were made to try to keep the symbols near where a Spanish computer user might expect them. I tried my best to include ALL of the symbols available on the Spanish computer keyboard, which was probably a mistake — although the cool thing about Unexpected Keyboard is that they really COULD all fit! 😀 Anyway, I have abandoned that idea and eliminated all the characters not needed in Spanish.

IMPORTANT: The above keyboard is for Spain. Latin America has a different PC keyboard, which probably deserves its own separate version on Unexpected Keyboard.

Here are my responses, point by point:

  • The editing actions (copy, paste, ...) are not present in any other standard layout and should be removed for now.

They certainly SHOULD be present! I mean, on a PC, EVERYBODY uses Ctrl+ZXCV dozens of times a day, don't they? I certainly do. However, in deference to your point about them being absent on other Unexpected keyboards, I have removed them.

A related question/suggestion: After installing Unexpected Keyboard on my phone, I enabled the editing keys (COPY, PASTE, CUT, PASTE AS PLAIN TEXT, UNDO, REDO), and they are VERY useful. 👏 But they seem to be placed more or less at random. On QWERTY computer keyboards the order always seems to be UNDO-CUT-COPY-PASTE, placed on the Z-X-C-V keys. Why not use these same keys when these editing keys are enabled?

By the way, PASTE AS PLAIN TEXT would logically follow on the B key, and REDO could be on the Y key or next to UNDO on the Z key.

  • The dead keys on the ñ key are close to the edge of the screen and might be hard to type. It would be easier if they were under the thumbs (best places are the d, f, j, k keys)

OK, I have removed two of the dead keys which aren't used in Spanish (accent_grave and accent_circonflexe).

But I do suggest keeping accent_aigu and accent_trema on the Ñ key, because that is where Spanish users will expect to find them. However, I've moved both of them to the LEFT side of the Ñ key, which avoids the right-border swiping problem.

  • Other important symbols that are too hard to type: ¡, -, _

OK, I have moved them.

  • accent_tilde is less useful if ñ is also on the layout. It shouldn't be here, people would use the compose key or other features if they needed it.

OK, I have removed it.

  • € is present twice on the layout.

OK, I have removed one of them. (I duplicated it deliberately because that symbol is also in two places on the PC keyboard!)

  • ß should probably be loc ß so not everyone see it, only people who need it. Same for £

OK, I have simply removed them.

  • Ç is already shift+ç, no need to add it to the layout.

(I didn't know that! 🙂) OK, I have removed the capital Ç.

One more thing: I noticed that there is an é in the keyboard you posted. I didn't put that in. It is unnecessary on the Spanish keyboard.

Thanks again for such a detailed response. Here is my new version:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<keyboard name="QWERTY (Español-España)" script="latin">
  <row>
    <key key0="q" key2="1" key4="esc"/>
    <key key0="w" key1="&quot;" key2="2" key3="|" key4="\@"/>
    <key key0="e" key1="·" key2="3" key3="€" key4="\#"/>
    <key key0="r" key1="$" key2="4"/>
    <key key0="t" key1="%" key2="5"/>
    <key key0="y" key1="&amp;" key2="6" key4="¬"/>
    <key key0="u" key1="/" key2="7" key3="\\"/>
    <key key0="i" key1="(" key2="8" key3="¿" key4="\?"/>
    <key key0="o" key1=")" key2="9" key3="¡" key4="!"/>
    <key key0="p" key1="=" key2="0" key3="'"/>
  </row>
  <row>
    <key key0="a" key2="tab"/>
    <key key0="s" key1="«" key2="»"/>
    <key key0="d" key1="º" key2="ª"/>
    <key key0="f"/>
    <key key0="g"/>
    <key key0="h"/>
    <key key0="j" key1="[" key2="]"/>
    <key key0="k" key1="{" key2="}"/>
    <key key0="l" key1="+" key2="*"/>
    <key key0="ñ" key1="accent_trema" key3="accent_aigu"/>
  </row>
  <row>
    <key width="1.5" key0="shift" key2="loc capslock"/>
    <key key0="z" key1="&lt;" key2=">"/>
    <key key0="x"/>
    <key key0="c" key1="ç"/>
    <key key0="v"/>
    <key key0="b"/>
    <key key0="n" key2=";" key4=","/>
    <key key0="m" key2=":" key4="."/>
    <key width="1.5" key0="backspace" key1="_" key2="delete" key3="-"/>
  </row>
</keyboard>

@Julow
Copy link
Owner

Julow commented Dec 31, 2024

Here's how it looks:
shot

The layout looks awesome now :) It's just missing some ASCII symbols that are useful in compose, coding and passwords: ^`~. According to the image you posted, these are dead keys but typing ^ as a dead key then typing space is not right for this app, compose then ^ is the right way for the dead key behavior. I'd prefer to have these symbols.

They certainly SHOULD be present! I mean, on a PC, EVERYBODY uses Ctrl+ZXCV dozens of times a day, don't they?

You can do Ctrl+ZXCV as well with this app.

But they seem to be placed more or less at random. On QWERTY computer keyboards the order always seems to be UNDO-CUT-COPY-PASTE, placed on the Z-X-C-V keys.

This has been technically possible for a while and just waited to be done. I've placed them on the downward direction of Z-X-C-V and placed redo on Y in 568b5a9. You can find a debug build at the end of this page if you want to try: https://github.com/Julow/Unexpected-Keyboard/actions/runs/12558066600

By the way, PASTE AS PLAIN TEXT would logically follow on the B key, and REDO could be on the Y key or next to UNDO on the Z key.

What do you think of having pasteAsPlainText be fn + paste and redo be fn + undo ? They would be very fast to type with the round trip gesture.

One more thing: I noticed that there is an é in the keyboard you posted. I didn't put that in. It is unnecessary on the Spanish keyboard.

The keyboard is adding it automatically for me and I tested from my personal device. It's intended.

@Julow
Copy link
Owner

Julow commented Dec 31, 2024

Also, do you think you could open a PR ? So you are correctly credited. Doing that with Github's online editor is fine, it's at https://github.com/Julow/Unexpected-Keyboard/blob/master/srcs/layouts/latn_qwerty_es.xml

@Julow Julow added this to the 1.31.0 milestone Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants