User:Kgdrenefort/bepo
THIS IS A DRAFT AND A TEST Some information have to be checked, the page doesn't fits well actually with Gentoo habits for writing an article. Feel free to contact me or run a discussion in the talk page of this wanna-be-article
BÉPO
Introduction
What is BÉPO ?
BÉPO is a free project aiming to bring a better key mapping for French, but also some other European language, allowing easy, quick and less fatigue while typing.
It is respecting much more French typing rules for proper text formatting, but also brings some characters for Latin European languages too. As mathematical signs and operator hard to access on other key mapping.
Source needed, in English if possible.
Which usage is adapted to BÉPO
BÉPO is fitted for every usage, but is specialized for French texts writing and allow easy access to characters recommended for French writing and respect the typing French's rules. First con is it's not ideal for English, second would be configuration files or programming issue as shortcuts of some programs as Vim or any games. These problems are explained below in the troubleshooting sections.
Example of enhancement could be to replace the three times repeated character «.» for etc: («...»), by the single Unicode characters «…», while «...» is theoretically incorrect on a computer while typing, in French at least.
Peoples used to programming might think it is not suited for this, but these characters are pretty much accessible easily:
<>, [], {}, ;, #, $, as many more.
It is possible to modify the key mapping from the BÉPO default scheme to something suiting more the user needs. This article will not cover it.
It also add "easy" access to some almost-never-used-but-official-characters such as :
- Maths: ± − ÷ × ≠ ≃ ≮ ≯ ⩽ ⩾ ≰ ≱ ≲ ≳ ¼ ½ ¾ ‰, as exponent digit (¹²³⁴⁵) and index number (₆₇₈₉₀).
- Language (other than French): Esperanto, Welsh, Turk, Azerbaijani and much more characters. As all official languages from European Union based on Latin alphabet.
- Currency: Most of the symbols are available.
- Dead keys: More than 500 diacritic characters with a system of twenty dead keys.
And many more.
Is BÉPO "better" than other key mapping ?
If one is looking for another key mapping it is probably because it does not fulfil every need, maybe someone says it is better for hands fatigues, increase typing speed, etc.
The myth around QWERTY (and other as AZERTY) is it was made to slow down operator typing on a typing machine because it was jamming it. Some studies shows the contrary, instead it is not to slow down any one, thus some had techniques to type faster with 6 or 8 fingers.
Since this page is not about history, this will not be taken care here. But readers should be aware that the original story is probably a bit more complicated than the urban legend, as a point of culture addition.
WILL ADD MORE DETAILS A BIT LATER, SOURCE, ETC
Enable BÉPO
BÉPO is already available on Gentoo Linux and is a part of the Gentoo Live installation as well.
Modern GUI
Most modern DE such as KDE Plasma, GNOME or Xfce (and some others) would have this key mapping in the key mapping part your configuration front-end for it, it just needs to be added as an available key mapping.
They will offer easy shortcut or clicking icon to switch from one to another key mapping, if needed or desired.
It can also be set from the command line or configuration files, see below. It's available while installing Gentoo by typing "3" when asked which key mapping to choose, allowing BÉPO user to not struggles with AZERTY/QWERTY while installing.
Finally, an icon can be made on the graphical environment, one to go on BÉPO, one to go on another, etc.
Non-GUI or low-features DE/WM users
If not using a desktop environment, or one not allowing GUI to achieve that, or needs to do it by the command-line, these commands will change the keyboard layout for the current session, only:
See talk page
user $
loadkeys fr-bepo
Or:
(only for X.org users, won't works for Wayland)
user $
setxkbmap fr bepo
For more details about changing the keyboard layout from command line and configuration files, read the page Keyboard_layout_switching.
The official project page (in French) is located here: https://bepo.fr/wiki/Accueil
How to learn and practice BÉPO like a pro
Learning BÉPO in replacement of AZERTY or QWERTY is not easy and quick. The mechanical memory as habits would be the main problem. It will takes months before BÉPO users find it really comfortable. It needs time and practice, but it is worth it. Another con could be forgot how to type with the usual keyboard layout.
There is several tools to learn and practice with much less pain than simply switching to it and struggles for longs months.
Writing trainers software
The best way to learn it as fast and simply as it can be are dedicated tools, instead of practising in a simple editor or to strangle on other tools not made for. They greatly improve the ease to learn it and possibly is way more effective.
KTouch
kde-apps/ktouch is a typewriting training software and is a part of the KDE Education Project.
There is a bug that is not allowing to reach some courses, at the end, with kde-apps/ktouch. Please see bug 410867 (bugs.kde.org)
Others
NEED TO ADD A BIGGER LIST
Learning
Once BÉPO is set as the key mapping and a typewriting tool is installed (such as kde-apps/ktouch, or any other) for typing training, the practising can start. Like all practice and manual skill, the more time an user while practice, the easier and quicker the learning would be. These tools will display, depending on the progression level, letters (first "e" and "t" for example) and later complete words, then sentences (they means absolutely nothing, it’s just for practice).
Each lessons increase the difficulty by adding new letters or characters, as punctuation and sign, operator and such, etc.
To achieve a lesson, some tools as kde-apps/ktouch will increase difficulty by asking you to type at a speed-rate to go to the next lessons, as asking the training user to do less than a percentage of accepted errors.
After a few month of practising, using the old keyboard layout could be complicated, as using old password that was usually typed with AZERTY or QWERTY.
Keeping the old keyboard layout as an alternative is recommended, allowing the user to not struggle typing a complicated password with BÉPO, but instead by switching to the old AZERTY/QWERTY, then switching back to BÉPO. It can looks annoying, and it is, but less than learning to type @Tia.-..;Vcp,wygh! for example, at least at the start of the learning.
Using a tool such as app-admin/keepassxc or any password wallet manager can help the users switching to BÉPO to not be blocked later by a password unable to be typed in both layout.
As an advice, the users should never watch the keyboard while typing. As learning to drive a car, the driver should not watch the gear level and keep eyes focus on the road. The road is the screen, the gear level is the keyboard.
On the BÉPO project page, and on search engine, there are images of the BÉPO key mapping to print, which is really recommended to do so and then, sticking it below the screen. Like this, it'll be easier and faster to remember where is a letter, without starting the bad habits to watch the keyboard while typing.
The home row
The line in the middle of the keyboard, on QWERTY they are composed of asdf & jklm, on AZERTY it is qsdf & jklm, is called the home row. That is where all fingers should rest until starting typing, while the thumbs are supposed to rest on the space bar. While index fingers of both hand should touch f (left-hand) and j (right-hand) easily without watching the keyboard thanks to embossed marking on these keyboard typing touch.
Letters as z, w, y, x, etc, are not the most used in French, thus they are less accessible than a, u, i, e (left-hand) & t, s, r, n (right-hand). They are on the home row and these 8 letters are, aside being the most used in French language, are made highly easy to access because 8 of the fingers are already resting on these. Allowing easy and fast typing, with much less efforts, of the most used French characters.
Questions and answers
Is it needed to have a dedicated BÉPO keyboard or modify one ?
Short answer: Never.
Long answer: These are some possible way, yes, buying a BÉPO keyboard or add stickers on keyboard keys. But that is not recommended. As someone driving a car, the driver is not supposed to look at his gear lever and instead keep it's eyes on the road, a BÉPO user should not look the keyboard while typing, or what ever key mapping used. That is because the user typing will have to look down to the keyboard, very often specially at start, adding unnecessary movements that could lead, with enough time, to pain and physical troubles in your neck and back.
An alternative could be an "empty keyboard", Matrix and such. Mostly, a normal and ergonomic keyboard is the best choice.
It is way more important to get a keyboard that is comfortable, easy to tip on and mostly fitting users needs.
Is switching to a such different layout would lead to forgot AZERTY/QWERTY ?
Probably, but that’s for the good of the user. At least it will make it harder to use the old one, because it is not used any more for example, and mechanical memory will slowly forget more and more about the old mapping.
How much time it takes to learn ?
The more an habits is old the stronger it is would made the switching harder or simpler.
A month with at least one hour per day of practising is a reasonable amount of time to get the basics and a few more months to feel really comfortable. In less than a few more months, the harder of the learning will be old memories.
Is it hard to learn it ?
Yes, it is. Fighting old habits, mechanical memories and such is painful. Tools as kde-apps/ktouch help greatly to make it easier.
Where could help be asked ?
If after searching on internet there is no answer to a problem, the homepage of the project is the best place to ask. There is documentation, forums and a Discord server to get helps, asking questions…
Which Operating System supports it ?
All of them: Linux, Mac OS X, Windows, Android, *BSD family, iOS…
Some are not supporting it by default, some yes, as Linux, makes it available without any works or installation, other than configuring your DE to use it.
Why is it called BÉPO ?
As AZERTY or QWERTY are the first letters of each respective key mapping, the first letter of this key mapping are b, é, p, o.
Troubleshooting
Invisible and non-breaking space character, breaking code, command line and configuration file
One main problem of BÉPO is that it's not oriented for system administration, scripting / programming, but to respect the French typo mostly, it’s designed for text writing and some weird behaviour that is breaking configuration file or code can happen. Worst, they are a pain to detect (at least the first times, until aware of the problem).
« » (space) is not « » (non-breakable space character). These are two really different characters. But they looks exactly the same, leading easily to error and undetected or not easy to find problem.
First is the classical white-space. Second is a non-breaking space character and this one does not fit in source code (GCC hates it, as Python, etc), configuration file, could/would break command-line like this one below:
emerge: error: argument -U: ignored explicit argument '\xa0@ord'
Because the line used was:
root #
emerge -vauDU @world
While the separation between -vauDU and @world is not « » but the non-breaking space character « ».
The proper line would be then :
root #
emerge -vauDU @world
Where there is two space-character and no non-breaking space character.
The non-breaking space character is typed by using maj + space, while a standard and desired space character would be typed by pressing simple space alone. While typing fast, it's easy to add the maj key by accident.
It is sadly very easy to get it instead of a white-space and it is invisible (some text editor, as kde-apps/kwrite for example, display it by default, app-editors/vim and other can as well do that to help, but not by default). Which can, and probably will, lead peoples to an awful waste of time while beginning BÉPO, or even later.
The solution is very easy:
There is actually several key mapping for BÉPO: BÉPO, BÉPO (latin-9 only) and BÉPO AFNOR.
The last one, BÉPO AFNOR, remove the non-breaking space character, removing completely this problem.
BÉPO AFNOR as a problem too, ’ replace the single-quote (').
A proper solution SHOULD be reported here. See talk page.4 Kévin GASPARD DE RENEFORT (talk) 12:00, 14 April 2024 (UTC)
Gentoo's forum posting problem with BÉPO (and Unicode)
Unicode characters in the title of a subject is taking four space plus one for the actual character displayed, so five instead of one. The size limitation for topic subject is 80 characters length.
While posting on the forum, BÉPO users should be sure to not add a non-breaking space characters.
An e-mail with the Gentoo's forum moderation (03/05/2024):
(…)
What happens is that the forums checks title lengths for being less that 80 characters. The check passes but special character are then converted to their 5 character HTML equivalent. The title gets longer by 4 characters for each special character. This happen after the 80 character length check. Oops.
When the post gets to the database, its rejected an the title will not fit into the database field.
The work around is to not use symbols that have 5 character HTML representations in topic titles. That's almost everything except alphanumerics. (…)
So if someone using BÉPO can't post to the forum, that might be the problem. Switching to the variant or be sure to type only white-space will solve this.
Problems with shortcuts
On Linux, a lot of tools are using non-GUI and thus, are highly used with keyboard shortcuts. That is a big problem:
First, these shortcuts are made in a way to ease their access. Switching to BÉPO will at first completely break the user experience on these, which is painful.
BÉPO community is sharing a lot of personal tips & tricks to avoid struggling with that problem. Below is a non-exhaustive list of configuration made to improve the usability of BÉPO in these case.
Then another problem arise, the more tools are non-GUI and use a lot of shortcuts to works, the more modification is needed. Which can be, of course, a big step and could lead users to abandon their learning or having simply more pain.
Author: I do not have a proper fix for now, will take a look on what's available to enhance the UX on that subject. Feel free to add anything relevant into the discussion page :) ! Kévin GASPARD DE RENEFORT (talk) 12:00, 14 April 2024 (UTC)
Vi/Vim/NeoVim
To add
Emacs
To add'
Weechat
To add'
Awesome
To add
Mutt
To add
Terminal emulators
To add
Other tools with lot of shortcuts
To add
Getting community support
The project home's page gives a lot (in French) informations, tips, documentations as access to a Discord server to get help with users mastering this key mapping, learning or developing it. Read the FAQ or the forum to ask for help (in French).
Using BÉPO on other system (such as Windows)
This page does not attend to learn how to install it on Windows in details, but this is nice to know aside of Gentoo using BÉPO to also having it on Windows, making it easier to adapt, learn and keep BÉPO as the main key mapping. The project page gives a Windows executable to install it on this OS, which (at least while writing this page) is not by default available on the last OS from Microsoft: 10 & 11. And of course not either by default installed on older Windows release as well and doubt that it’ll be one day.
It is good to know that it also allows to keep the original shortcut as ctrl+c/ctrl-v to be used as your old key mapping instead of adapting it to the new location for these key. It’s a choice.
Finally, some Windows games will automatically adapt the text typing (as in online chat) using BÉPO, while all others key (moving, shooting, selecting…) will keep their usual location, making less painful to play a game without having to remap everything. Some old games won’t probably support that (as Fallout 1 or 2, for example, while Fallout 3 / New Vegas / 4 / 76 will do without any additional steps). That is also true for Linux.
THIS IS A DRAFT AND A TEST