https://github.com/aurelberra/bepolar

https://github.com/aurelberra/bepolar

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: researchgate.net, wiley.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (1.5%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: aurelberra
  • Language: Makefile
  • Default Branch: master
  • Size: 1.07 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Fork of Ced-C/Bepolar
Created about 2 years ago · Last pushed almost 2 years ago

https://github.com/aurelberra/Bepolar/blob/master/

Bpolar
================================================================================

## TL;DR

Drive de BPO, Bpolar est une disposition clavier sappuyant sur des mcanismes modernes afin damliorer le confort de frappe.
La disposition est plus confortable que BPO en franais, et meilleure que BPO pour langlais et la programmation avec sa couche AltGr ddie au dveloppement.

Le principe est simple: amener les touches sous les doigts (notamment les diacritiques) grce  la touche spciale ``, dite typographique. Voici une vue simplifie de la disposition:

![Disposition Bpolar simplifie](img/bepolar_simple.svg)

Cest un bon moyen, pour un bpote, de tester lapproche 1DFH qui est lessence d[Ergo-L](https://ergol.org/) avec un temps dapprentissage record.

 [Apprendre / tester](https://ergol.org/lafayette/#b%C3%A9polar)

## Sommaire

1. [Pourquoi une nouvelle disposition?](#pourquoi-une-nouvelle-disposition)
2. [ Le cahier des charges](#-le-cahier-des-charges)
3. [ La disposition](#-la-disposition)
4. [ Installation](#-installation)
5. [ Faites votre propre disposition](#-faites-votre-propre-disposition)
6. [ Mentions](#-mentions)

## Pourquoi une nouvelle disposition?

BPO ma permis de dcouvrir le monde de lergonomie clavier et je len remercie. Depuis sa sortie, dautres dispositions (bien) plus optimises ont vu le jour.

Mais

**Apprendre une nouvelle disposition, cest long et fastidieux**. Bpolar se veut le plus proche possible de BPO tout en vitant son principal problme:les caractres `M Z  W` sont ~~trs~~ trop excentrs, ce qui cause des dviations ulnaires, principale [cause de TMS documente](https://onlinelibrary.wiley.com/doi/epdf/10.1002/jor.20599).

Quelques dfauts de BPO corrigs par Bpolar:

1. *Langlais*. La disposition a t dveloppe pour crire principalement en **franais**. Aujourdhui, langlais sest normment dvelopp et est de plus en plus utilis, que ce soit dans des anglicismes ou tout simplement pour crire  linternational. crire en anglais en BPO est extrmement fastidieux, notamment  cause de la position du `W`, qui est trs excentr.
2. *La prcision*. Pour crire du franais correct, nous avons besoin de bien des diacritiques: sur les lettres `       `, pour ne citer que les plus courants en franais. Sur des machines  crire, il ny a pas le choix, il faut imprativement utiliser plus de touches pour permettre une bonne typographie (majuscules accentues, espace inscable, guillemets  la franaise,etc.). Le fait davoir plus de touches rend ncessairement les touches les plus loignes moins confortables (et moins prcises). Dvorak proposait dexcentrer les touches les moins utilises. Le problme de cette approche, cest que les touches les moins utilises sont mises sur les positions les plus difficiles. Ainsi, il est bien plus frquent de faire des fautes de frappe sur ces touches et lapprentissage de la dactylographie est plus long.
3. *Lauriculaire droit*. `M` est une lettre frquemment double, la mettre en extension sur un doigt faible nest pas judicieux.
4. *La programmation*. Certains symboles de programmation ont des caractres trs excentrs, comme le `$`, ce qui est fastidieux pour coder dans certains langages.

Tous les problmes mentionns ont la mme origine, lutilisation de touches excentres. Il faut donc changer dapproche: ne plus aller chercher les touches loin avec les doigts, mais plutt les amener sous les doigts  passer dun paradigme *fingers-to-caps*  *caps-to-fingers*!

Pour cela, Bpolar agence toutes les lettres dans la zone la plus confortable du clavier: le pav de 30 touches (3 colonnes  5 touches  2 mains). a tombe bien, cest [bon pour la sant](https://www.researchgate.net/publication/12913559_Workplace_Use_of_an_Adjustable_Keyboard_Adjustment_Preferences_and_Effect_on_Wrist_Posture).

La disposition tant trs proche de BPO, elle sapprend *trs* rapidement; moins dune petite semaine pour retrouver ma vitesse dans mon cas.

 ceux qui ne pratiquent pas BPO, je conseillerais plutt de passer sur une disposition telle que [ErgoL](https://ergol.org/), plus optimise que Bpolar, mais requrant un apprentissage long.

Pour ceux qui ne peuvent vivre sans Vim *et* qui ne souhaitent pas programmer leur clavier (via QMK ou un logiciel comme [Kanata](https://github.com/jtroo/kanata)), [QWERTY-Lafayette](https://qwerty-lafayette.org/) est un bon compromis.

###  Le cahier des charges

Voici les contraintes que je me suis donnes:

* Le moins de changements possible par rapport  BPO  seules quatre (ou cinq sur un clavier ISO) touches doivent changer: `   ^!` (``)
* Toutes les lettres sur le pav des 30 (352) touches principales du clavier
* Les accents et autres diacritiques les plus communs obtenus via une touche morte de type [Lafayette](https://qwerty-lafayette.org/), o lon mettra aussi quelques symboles typographiques utiliss en franais
* Les chiffres accessibles en direct
* Une couche Alt ddie  la programmation
* Garder une disposition intuitive

##  La disposition

### Couche classique  niveau 1 (couche Alpha)

La disposition Bpolar est prsente ci-dessous:

![disposition bepolar](img/bepolar_Default.svg)
Lgende:

* En clair, la touche frappe
* En rouge, les touches mortes: il faut les frapper puis enchaner avec un autre caractre pour voir leur effet (comme le `^` en AZERTY)
* En vert, le rsultat de la touche typographique (en forme dtoile) combin avec le caractre sur la touche courante

### Touche typographique  niveau 5 (techniquement un *iso_level_5_latch*, cousin dAltGr)

La touche typographique, ou touche touche Typo, `` (en rouge sur le layout), donne accs aux caractres en vert:

* Tous les accents communs en franais (aigu, grave, circonflexe)
* Certains diacritiques usuels dans les langues europennes: ` `
* Les ligatures les plus courantes: `  `
* Dautres symboles typographiques usuels tels que lapostrophe typographique, les espaces inscables (fine ou non), les guillemets anglo-saxons, les points de suspension, le point mdian ``, le tiret inscable,etc.
* Des symboles mathmatiques tels que `    `.

Lensemble des symboles accessibles sont prsents ici:

![disposition bpolar touche morte](img/bepolar_DeadKey.svg)

>  Ce nest pas visible, mais la touche morte suivie despace permet de faire **lapostrophe (typographique)**
>
> Le symbole `` sur la touche `F` (en bas  droite) est le tiret inscable, qui permet dtre sr quun nom compos ne soit pas coup sur deux lignes, par exemple.

#### Principes

* La touche Typo (``) suivie dune voyelle (range du milieu, ou *home row*) donne gnralement cette dernire avec un accent grave (p.ex., ``, ``, ``).

* La touche Typo (``) suivie de la touche au-dessus de cette voyelle (range du haut) donne un accent circonflexe (p.ex., ``, ``, ``, ``).  Exception pour le ``, qui est  la droite du ``.
* La touche Typo (``) suivie de `i` donne ``, ce qui facilite lenchanement `e`.
* Deux appuis successifs sur la touche morte `` donnent la touche morte trmas `*`. Pour faire un ``, par exemple, il faut faire lenchanement `i` (soit trois touches, mais les mots  trmas sont rares).
* La touche Typo (``) suivie dun symbole ou dune lettre ayant une variante courante donne cette variante: `c```, `n```, `s```, `=```,etc.

Lutilisation de la touche Typo pour les accents nest peut-tre pas intuitive de prime abord. En effet, quand on tape  deux doigts comme le commun des mortels, toutes les touches se valent et il est prfrable davoir une touche excentre que de taper deux touches.
En revanche, quand on tape en position dactylo, toutes les touches excentres sont pnibles et causes derreurs. Placer lensemble des lettres sur les 30 touches confortables du clavier est donc plus efficace, et favorise en mme temps lapprentissage grce  la mmoire musculaire.

*In fine*, grce aux touches classiques (niveau 1),  la touche shift/maj (niveau 2) et  la touche Typo (``, niveau 5), lensemble des symboles ncessaires pour saisir un franais correct sont accessibles.
Il est en outre possible dcrire correctement et confortablement  la fois le franais et langlais; dans une moindre mesure, lallemand, lespagnol et lespranto.

### Couche AltGr  niveau 3 (ISO level 3)

La couche AltGr est facultative. Elle permet de faciliter la programmation informatique en rendant accessibles lensemble des symboles utiliss pour coder sur la zone confortable du clavier.. En outre, elle donne accs  certaines touches mortes (souvent via shift), ce qui peut tre pratique pour un usage ponctuel.

Cette couche est partage entre les projets Bpolar, [ErgoL](https://ergol.org/) et [QWERTY-Lafayette](https://qwerty-lafayette.org/). Elle a t pense pour les dveloppeurs:

* en plaant les symboles les plus courants aux endroits les plus accessibles
* en positionnant les symboles par blocs, pour faciliter lapprentissage (`() [] {} ^$ +-/`)
* en facilitant lutilisation de Vim

![disposition bpolar AltGr](img/bepolar_AltGr.svg)

### Touche espace

La touche espace () est utilise pour les symboles suivants:

* Lespace classique: ` `
* Lespace inscable fine (shift+): ``
* Lespace inscable (AltGr+shift+): ``
* Lapostrophe typographique (+): ``

>  Contrairement au BPO, le tiret bas (`_`, *underscore*) nest pas en AltGr+, mais en +x (ou AltGr+`.`). Cela permet denchaner espaces et symboles de programmation en couche AltGr, et de composer facilement du texte en snake_case.

##  Installation

Les pilotes pour [Linux](#sous-linux), [Mac](#sous-mac) et [Windows](#sous-windows) sont disponibles dans le dossier `dist`.
Ces pilotes sont gnrs via le script [Kalamine](https://github.com/fabi1cazenave/kalamine). Je fournis la disposition pour tous les systmes dexploitation, mais **la version Linux est la plus teste**.

### Sous Linux

> **NB.** Sous Ubuntu/Wayland/Gnome, il est prfrable de prciser lutilisation dIbus (install par dfaut) pour avoir accs  lensemble des caractres et viter les conflits avec QMK/Kanata,etc.
> Pour cela, il suffit dajouter au fichier `/etc/environment`:
>
> ```bash
>INPUT_METHOD=ibus
>GTK_IM_MODULE=ibus
>QT_IM_MODULE=ibus
>XMODIFIERS=@im=ibus
>```

#### Mthode simple: Wayland/X11

La faon la plus simple dinstaller Bpolar est dexcuter

```bash
sudo wget -O ${XKB_CONFIG_ROOT:-/usr/share/X11/xkb}/symbols/custom \
https://github.com/Ced-C/Bepolar/blob/master/dist/bepolar.xkb_custom
```

En fonction de lenvironnement de bureau, il faut peut-tre ensuite se dconnecter et **se reconnecter  sa session** pour que le systme voie la nouvelle disposition dans les paramtres clavier. Elle ne sera pas dans la liste des dispositions du franais, mais dans custom et sera nomme `custom / A user-defined custom layout`.

Pour installer la disposition sous son vrai nom, il faut passer par la mthode avance.

#### Mthode avance: compilation depuis les sources

Rcuprer le layout de Bpolar:

```bash
wget https://github.com/Ced-C/Bepolar/blob/master/Bpolar.toml
```

Installer Kalamine:

```bash
pip3 install pipx # si ncessaire, pipx est une amlioration de pip
pipx install kalamine
```

```bash
# Pour gnrer les pilotes, tlchargez le fichier `Bpolar.toml` du rpertoire et faites
kalamine build Bpolar.toml

# Pour installer la disposition qui appraraitra dans la catgorie Fr/Bpolar en user-space
xkalamine build Bpolar.toml

```

Pour installer la disposition qui apparatra dans la catgorie Fr/Bpolar sur tout le systme (root), installez Kalamine via pyVenv puis faites

```bash
sudo xkalamine build Bpolar.toml
```

Il peut tre ncessaire de se dconnecter et **se reconnecter  sa session**.

### Sous Mac

Il suffit de copier le fichier [bepolar.keylayout](dist/bepolar.keylayout) dans le dossier `/Library/Keyboard Layouts` et de **relancer la session**. La disposition de clavier est disponible dans les prfrences Clavier, rubrique Mthodes de saisie.
On peut aussi lenregistrer dans `~/Library/Keyboard Layouts` (pour le seul utilisateur courant), mais la disposition ne sera pas active et disponible au login.
Il est possible (et recommand) dutiliser Karabiner pour inverser les touches Command et Option  droite, afin daccder plus facilement  la couche de symboles.

### Sous Windows

Si vous avez les droits dadministration sur votre poste Windows, utilisez linstalleur (`setup.exe`) disponible dans [Bpolar.zip](dist/bepolar-0.7.0-win.zip). Excutez linstalleur et relancez la session. La disposition de clavier apparat dans la barre de langues (indicateur de la barre des tches).

Si vous navez pas les droits dadministration, une version portable est disponible: [Bpolar.ahk](dist/bepolar.ahk).
Aprs le lancement, un indicateur apparat dans la barre des tches. Le pilote peut tre activ ou dsactiv avec le raccourci AltAltGr.

#### Rsolution de problmes

Sur Windows avec GeForce Experience, il se peut que le raccourci AltGr+M (pour crire `<`) soit capt par Superposition en jeu pour couper le micro (car AltGr est considr comme Ctrl+Alt).

Il suffit daller dans GeForce Experience sur la roue dente > Gnralits > Superposition en jeu: Paramtres > Raccourcis claviers, pour changer ou supprimer ce raccourci. Il est aussi possible de dsactiver compltement la Superposition en jeu.

De mme avec Keepass 2, le raccourci AltGr+A (pour crire `{`) est capt mme si le programme nest pas au premier plan. Pour cela, aller dans Tools > Options > onglet Integration > encart System-wide hot keys, et changer ou supprimer la valeur du raccourci Global auto-type.

##  Faites votre propre disposition

Si vous souhaitez modifier la disposition pour ladapter  vos besoins, le fichier `Bpolar.toml` est lisible facilement et peut tre modifi  la main avant dutiliser Kalamine pour gnrer vos propres pilotes.

##  Mentions

Un *grand* merci  `Kaz` pour ses nombreux softs utiles, dont:

* Kalamine pour gnrer les pilotes
* X-keyboard pour gnrer les images de layout

Et pour son implication dans de nombreux projets, dont BPO et QWERTY-Lafayette.

De mme, merci :

* `Nuclear Squid` pour ses explications et son [serveur Discord](https://discord.gg/RH34GjQEgC), qui mont permis de me lancer dans le sujet
* `Lobre` pour ses retours clairants
* `Aeshar` et `Brab` pour leur version custom `BMP`, de laquelle `Bpolar` est issue
* `aurelberra` pour ses contributions  ce readme!

Owner

  • Name: Aurélien Berra
  • Login: aurelberra
  • Kind: user

GitHub Events

Total
Last Year