Unexpected-Keyboard
Unexpected-Keyboard copied to clipboard
BÉPO layout
That would be an interesting addition :) Would you be interested in contributing ?
Yes, surely, but İ’m not that aware of the codes for accentuations and symbols.
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..).
I can do it, probably before the end of the year
Great, thanks !
Is anyone still interested in this?
Yes, sorry. I had no time before. Thank you for the reminder. Working on it…
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 (
shiftwhich work for alpha characters, andfnwhich 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:

- The first line in purple roughly indicates the columns
din front of a character means « dead character of … »
Small update with a better rendering (but without the bottom row):

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.
- 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)
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!
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 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 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?
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.
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.
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.
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.
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.
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 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.
Is anyone using variation of BÉPO that is worth adding to the app ?
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.
@Dimethylebutane is proposing a BÉPO layout in https://github.com/Julow/Unexpected-Keyboard/pull/402 Feedback is welcome.
Thanks @Dimethylebutane for solving this longstanding issue. It's still possible to make change to it even after it's released.
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 !
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.
