Unexpected-Keyboard icon indicating copy to clipboard operation
Unexpected-Keyboard copied to clipboard

BÉPO layout

Open XanderLeaDaren opened this issue 3 years ago • 21 comments

How about adding the dvorak-fr-bepo layout?

Bepo-1 1-complet

XanderLeaDaren avatar Dec 05 '21 07:12 XanderLeaDaren

That would be an interesting addition :) Would you be interested in contributing ?

Julow avatar Dec 05 '21 19:12 Julow

Yes, surely, but İ’m not that aware of the codes for accentuations and symbols.

XanderLeaDaren avatar Dec 06 '21 16:12 XanderLeaDaren

The main thing to do is write an xml file similar to this one: https://github.com/Julow/Unexpected-Keyboard/blob/master/res/xml/qwerty.xml then a few formalities: arrays, Config.

Unicode characters can be written directly but make sure to have all the ascii characters, every accents and all the modifier (ctrl, etc..) and special keys (esc, arrows, etc..).

Julow avatar Dec 06 '21 19:12 Julow

I can do it, probably before the end of the year

jrd avatar Dec 21 '21 11:12 jrd

Great, thanks !

Julow avatar Dec 21 '21 19:12 Julow

Is anyone still interested in this?

Julow avatar May 29 '22 15:05 Julow

Yes, sorry. I had no time before. Thank you for the reminder. Working on it…

cpontvieux-systra avatar May 31 '22 07:05 cpontvieux-systra

This is hard as the bépo layout is done for 4 rows of around 12 keys each.

It seems that Unexpected Keyboard is done more for 3 rows of around 10 or 11 keys each.

It seems there is no technical requirement to only have 3 rows, but more rows means smaller keys and it will be impossible to use.

So I try to find a not-so-bad way to port the bépo layout to less rows and keys:

  • the bépo layout use 4 layers
  • the Unexpected Keyboard use 4 layers too (shift which work for alpha characters, and fn which is hardcoded alternatives to some characters)
  • the Unexpected Keyboard can have 5 symbols on each key, so it’s like having 5× more keys
  • I want to keep the same layout for the main access letters and if possible the dead keys

So here what I have mapped :keyboard: . Tell me if this is good enough :question:

image

  • The first line in purple roughly indicates the columns
  • d in front of a character means « dead character of … »

cpontvieux-systra avatar May 31 '22 20:05 cpontvieux-systra

Small update with a better rendering (but without the bottom row):

image

cpontvieux-systra avatar May 31 '22 21:05 cpontvieux-systra

Looks nice :) The layout is pretty full, I think some character can be moved away:

  • I think you can remove the ½, ¼, ≠ and the other non-ASCII math symbols, this should be added to the number pane (maybe under Fn).
  • Missing ëïâôœ. Do you want to use dead keys for these ?
  • µ, ¢, £, ¿, ¡ and some others are already on the Fn layer. I don't mind having keys that are in several layers at the same time (especially that the Fn layer is hardcoded), but these are not useful enough in French to be on the main layer. Same for ¶, ™, etc.. these should be added to the Fn layer. If you regularly type Spanish and need ¿ and ¡, there's a new mechanism to show you these since 2e81cb5c that I plan on improving again.

Julow avatar Jun 01 '22 08:06 Julow

  • Yes I can remove some math characters.
  • œ is already directly accessible on the o letter (upper left)
  • for ëïâô (and many others) yes I want to use dead keys.
  • some dead keys are still missing on the proposed layout (and I will need to provide some new SVG characters for them. How do you generate them by the way?). I’m reviewing this page (fr) but I currently cannot make all dead keys work on my running Linux (Manjaro, bépo layout AFNOR 1.1rc2). So I will probably only port those that works.
  • I like the bépo layout not only for French, but for any european language. I want to type in French, English, Spanish, Polish, whatever with only one layout. That’s the idea of bépo.
  • I don’t like the hardcoded Fn layer. But I don’t have a better proposition right now as it is handy to have some special characters for some other layouts. Maybe an option in the layout xml definition to deactivate some of those, like the bottom_row="false" option.
  • I wander if adding another key on the last row is a good idea or not (like the neo2 did)
  • Lastly I want to stick to the original bépo layout as close as possible (no surprise for users)

cpontvieux-systra avatar Jun 01 '22 08:06 cpontvieux-systra

The math symbols will be added to a separate pane, https://github.com/Julow/Unexpected-Keyboard/pull/155 (there will be a "math" pane accessible from every layouts).

The hardcoded Fn layer has the advantage of working the same way on every layouts (as long as it has all they keys that are also on QWERTY). It's less maintenance. The solution currently used to remove duplicated keys is to remove some keys on the Fn layers, for example, on Fn, a becomes æ, æ could be removed from where it was.

I still think that keys like µ, ¢, £, , ©, and some others shouldn't be on the main pane. Depending on what languages the user have installed, more keys might be added to the layout automatically, we need some space for that (I might want to add even more keys to layouts in the future).

Lastly I want to stick to the original bépo layout as close as possible (no surprise for users)

I understand! But you'll still need some creativity to adapt it to the small screen and to the way this app works.

Thanks for the work!

Julow avatar Jun 04 '22 13:06 Julow

I still think that keys like µ, ¢, £, , ©, and some others shouldn't be on the main pane.

In bépo, the key marked µ is not an actual µ, it is rather a dead key that allows one to type any Greek letter. eg. µ+m -> µ and µ+a -> α. Same for ∞ which is a dead key to open a scientific symbols panel. You can see the details over there. The page is in French but the tables speak for themselves.

I don't know how difficult it would be to implement these features, but I find the ideas of having a dead key for writing any greek letter and another one to write the scientific symbols very powerful, especially on a phone where one can see the results of the combinations after pressing the dead key. You might even consider adding that to other dispositions.

plafourc avatar Sep 19 '22 08:09 plafourc

@plafourc a dead key like you describe wouldn't be hard to implement but the next version of the keyboard will have a new pane for greek letters and some mathematical symbols. It would definitely benefit from your review, if you have some time. The last debug version can be found here: https://github.com/Julow/Unexpected-Keyboard/actions/runs/3117862839 (it appears as a different keyboard to be enabled again in the settings).

Julow avatar Sep 24 '22 11:09 Julow

@julow I would be glad to help but I am new to this and I can't find how to install the debug version you suggest. Actually I can't even install the latest package because it says "the package is conflicting with an already present package". I'm using FDroid btw. I guess this is not the right place to talk about this, but I can't find private messages on github. Do you know of a better place?

plafourc avatar Sep 25 '22 15:09 plafourc

I have never seen this error before. Are you using adb install ? If that's the case you might need to do adb uninstall juloo.keyboard2.debug before.

Otherwise, from your phone, you can download the debug version here: https://github.com/Julow/Unexpected-Keyboard/actions/runs/3119796133 (corresponding to the just released version) then find it in the download folder and tap on it. It might ask you to enable the "untrusted source" option but I don't think it has a notion of compatibility between apps.

You can contact me by email: jules at j3s.fr.

Julow avatar Sep 25 '22 15:09 Julow

Let me suggest these two versions of the bépo layout, an 11-column one adapted form the ones suggested earlier, and a compact 10-column one because I am afraid an 11-column keyboard would be impractical. bépo bépo2

I do not claim they are perfect. My main idea is to suggest something on the svg format, so anyone can modify it easily with Inkscape. This should enable us to create a version that pleases everyone.

plafourc avatar Sep 26 '22 10:09 plafourc

I do admit that these layouts are crowded, but one might argue that the real estate is available, so why not use it?

Dead keys The bépo layout makes heavy use of dead keys (in red). I have tried to basically include all of them, but one might argue they might not all be necessary. Other than the diacritics that are self-explanatory, the dead keys are:

  • Greek (µ) : allows one to type Greek letters
  • Scientific symbols (∞) : gives access to a (very) wide collection of mathematical and scientific symbols. We definitely need to discuss what kind of mathematical keyboard we want to have (one might consider the bépo one is overcrowded).
  • Extended latin (ẞ) : allows one to type all Latin-based languages (at least they claim) by adding the extra characters such as ẞ but also þ etc.
  • Currency symbols (¤) : gives access to currency symbols from around the world. It may be argued that such a dead key might not be worth the hassle of implementing it, but if you ever want to create a currency symbols panel the bépo layout has thought of this solution.
  • Exponents and indices (sup and inf) : self-explanatory.

Modifications to the previous 11-column version

  • The Greek letter dead key µ is bound to the G key in the original bépo layout, and I see no reason why to put it elsewhere.
  • I've included spots for all dead keys, even if we eventually decide to remove some.
  • Dashes are numerous on the original layout, so I decided to only keep the 3 main ones: the dash, the underscore, and the em dash (which is used in French dialogues). I removed the half-em dash and the minus sign because I felt like these can be approximated by the dash. But it can be debatable.
  • The tilde was present both on the K and the N, so I removed the latter.

plafourc avatar Sep 26 '22 10:09 plafourc

Oh: I've also decided to try and remove keys from the outside edge because they are somewhat awkward to type. I only showed it on the 10-column version, but it can obviously be applied to the other one.

plafourc avatar Sep 26 '22 10:09 plafourc

Great improved version @plafourc I’m currently using my 11-columns version and frankly 11 columns is a bit too much in portrait (but still usable). Your 10-columns version differ from original bépo, but in a good and original way. I may try this a bit to see if this is more convenient or not (I use bépo to type in French and English mainly). Do you already made a test-apk of this @plafourc (in a fork for instance?)

cpontvieux-systra avatar Sep 26 '22 10:09 cpontvieux-systra

@cpontvieux-systra No, sorry, I didn't make a test-apk and to be honest I don't know how to. I might learn if I find some time this week, though.

plafourc avatar Sep 26 '22 10:09 plafourc

Is anyone using variation of BÉPO that is worth adding to the app ?

Julow avatar Jun 03 '23 17:06 Julow

Is anyone using variation of BÉPO that is worth adding to the app ?

Sadly I’ve been too busy to work on building one, so I’m backing you up on this request.

plafourc avatar Jun 05 '23 06:06 plafourc

@Dimethylebutane is proposing a BÉPO layout in https://github.com/Julow/Unexpected-Keyboard/pull/402 Feedback is welcome.

Julow avatar Aug 08 '23 18:08 Julow

Thanks @Dimethylebutane for solving this longstanding issue. It's still possible to make change to it even after it's released.

Julow avatar Aug 18 '23 10:08 Julow

I compiled/installed the version from #402 / tag 1.24.0. It’s very well done.

I just added some keys like dead accents ´, ` and ", for writing in other languages than French (and writing Noël and Gaël correctly). Maybe I’ll add dead ~ if needed but the only usage is for ñ so maybe the layout should just add this to the N key. I’ve also added custom keys «  and  » (with unbreaking space) because it’s too long to use Fn + swipe for « and then Fn + space. I don’t know where it could be added on the bépo layout, maybe near the < and > and with unbreakable space directly?

All in all, I’m satifsfied with the compromise made on this layout.

Also well done for switching letter K and dot . positions so that the dot is on the center, more like on the complete bépo layout !

cpontvieux-systra avatar Aug 18 '23 13:08 cpontvieux-systra

For symbols like ö, ñ, etc.. I dream of https://github.com/Julow/Unexpected-Keyboard/issues/204, which is not being worked on at the moment if someone has some time.

Julow avatar Aug 18 '23 13:08 Julow