J'avais commencé à essayer de faire un truc équivalent il y a deux mois, mais j'ai dû arrêter en cours et n'ai pas eu le temps d'approfondir depuis.
Cette page devrait pouvoir t'aider. Si mes souvenirs sont bons, il faut définir un nouveau « level » avec la touche modificatrice voulue, ce qui se fait en créant un fichier dans /usr/share/X11/xkb/types (toujours si mes souvenirs sont bons, mais encore une fois je n'ai pas pu aller au bout, donc c'est peut-être une fausse piste, je sais juste que j'ai un fichier custombepo modifié au 7 juin dans ce dossier… 😃), en s'inspirant des autres exemples, et ensuite l'intégrer au fichier /usr/share/X11/xkb/symbols/fr.
Si ça peut t'inspirer, voici où je m'étais arrêté :
/usr/share/X11/xkb/types/custombepo :
partial default xkb_types "custombepo" {
virtual_modifiers LevelThree,LevelFive;
type "CUSTOMBEPO" {
modifiers = Shift+Lock+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[Lock] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[LevelFive] = Level5;
map[Lock+LevelThree] = Level3;
map[Lock+Shift+LevelThree] = Level4;
map[Lock+LevelFive] = Level5;
preserve[Lock+LevelThree] = Lock;
preserve[Lock+Shift+LevelThree] = Lock;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "Win";
};
};
/usr/share/X11/xkb/symbols/fr : copie de la disposition bépo (pour avoir un backup si la disposition plante…) avec en plus la ligne
include "custombepo(win_switch)"
et modifiée de sorte que
key <AD08> { type[group1] = "CUSTOMBEPO", [ d, D, eth, ETH, Up ] }; // d D ð Ð
Je crois que je m'étais arrêté là, je ne suis pas sûr que le Up corresponde bien au code de la flèche du haut, il me semble que c'était ce que j'étais en train de chercher quand j'ai arrêté.