Cet outil clavier est MEILLEUR que Karabiner (Voici pourquoi)

BBetter Stack
컴퓨터/소프트웨어게임/e스포츠가전제품/카메라

Transcript

00:00:00Voici Kanata, un outil open source qui maximise le potentiel de votre clavier
00:00:03en permettant, par exemple, d'assigner une touche différente selon qu'elle est pressée ou maintenue,
00:00:08d'utiliser une seule touche pour déclencher plusieurs frappes,
00:00:10ou de disposer de plusieurs couches pour différents mappages personnalisés.
00:00:12Ce qui est génial pour quelqu'un comme moi qui essaie de tout faire au clavier.
00:00:16Mais c'est quoi cette syntaxe de configuration bizarre ?
00:00:19Et pourquoi utiliser ça plutôt que Karabiner ou un autre outil commençant par K ?
00:00:24Abonnez-vous et découvrons cela ensemble.
00:00:27Kanata est le nom iroquois indigène pour "village",
00:00:30ce qui n'a absolument rien à voir avec les claviers.
00:00:33Mais si vous aimez les claviers mécaniques comme moi, vous connaissez peut-être QMK,
00:00:37un micrologiciel de clavier open source très populaire,
00:00:39qui permet de remapper les touches au niveau du clavier avant l'envoi à l'ordinateur.
00:00:42Kanata est comme QMK, mais il fonctionne au niveau logiciel,
00:00:46il est donc compatible avec tous les claviers, même celui de votre ordinateur portable.
00:00:49Et comme il est écrit en Rust, il est extrêmement rapide
00:00:52et il n'y a pratiquement aucun délai de latence lors de la frappe.
00:00:55Par contre, l'installation n'est pas si simple,
00:00:57car après avoir installé Kanata avec Karabiner pour Mac,
00:01:00j'y reviendrai plus tard,
00:01:02vous devez écrire un fichier de configuration utilisant la syntaxe S-expression inspirée de Lisp,
00:01:07ce qui est la syntaxe la plus étrange que j'aie jamais vue.
00:01:11Parce qu'au lieu d'écrire le nom d'une fonction à l'extérieur des parenthèses,
00:01:16dans ce fichier, on l'écrit à l'intérieur, juste à côté des arguments.
00:01:21Mais ça devient encore plus spécial quand on commence à imbriquer des fonctions,
00:01:24ce qui arrive souvent dans la configuration,
00:01:26car comme les noms de fonctions ne sont pas à l'extérieur des parenthèses,
00:01:30tout se retrouve à l'intérieur, ce qui est un peu déroutant au début.
00:01:35Mais on s'y habitue avec le temps.
00:01:36Prenons un exemple simple : je veux que la touche A devienne la touche X.
00:01:41J'utilise la fonction "defsource" pour spécifier la touche d'origine A,
00:01:46et au moins une fonction "deflayer" pour spécifier les touches de sortie.
00:01:50Je vais nommer cette couche "base" avec l'argument X.
00:01:53Toute touche non listée dans le fichier de configuration garde son comportement normal.
00:01:57Ajouter d'autres touches comme B et C pour les mapper vers X et Z ressemble à ceci.
00:02:02Heureusement, les espaces et les tabulations ne comptent pas,
00:02:04vous pouvez donc espacer les touches pour rendre le tout bien lisible.
00:02:08Voici d'autres fonctions sympas pour votre fichier de configuration.
00:02:10Je pourrais configurer un "tap-hold" : une pression brève fait une action, une pression longue une autre,
00:02:15avec un délai de maintien, puis en ajoutant les touches cibles.
00:02:19Ici, presser A affichera X, mais maintenir A agira comme la touche Shift gauche.
00:02:24Pour simplifier, je peux utiliser la fonction "defvar" pour enregistrer des variables
00:02:28que j'utilise souvent et les appeler avec un signe dollar,
00:02:32ce qui est parfait pour les "home row mods", associant les touches de repos aux quatre modificateurs classiques.
00:02:36Franchement, ça semble bizarre au premier abord,
00:02:39mais je m'y suis habitué et je n'imagine plus utiliser mon clavier autrement.
00:02:42Je pourrais aussi créer un nouveau "deflayer" nommé "editor"
00:02:46pour le montage vidéo, avec un tout nouvel ensemble de touches,
00:02:51et passer à cette couche via une touche dédiée.
00:02:54Et si vous voulez aller encore plus loin lors des changements de couches,
00:02:58vous pouvez activer le serveur TCP de Kanata pour que d'autres applications l'écoutent.
00:03:03Dans mon cas, SketchyBar écoute Kanata
00:03:06pour afficher la couche active directement en haut de mon bureau.
00:03:10Certes, arriver à ce résultat a demandé pas mal de configuration,
00:03:13mais rien qu'une IA ne puisse vous aider à rédiger.
00:03:16Bref, pourquoi utiliser Kanata plutôt que Karabiner-Elements ?
00:03:21Sachant que ce dernier fait tout ce que Kanata propose et bien plus,
00:03:24comme des mappages spécifiques par application ou par clavier,
00:03:28un visualiseur d'événements intuitif pour tester les touches,
00:03:30et une interface graphique pour ceux qui n'aiment pas le terminal.
00:03:35Mais pour moi, la fonction "tap-hold" de Karabiner était vraiment insuffisante pour les home row mods.
00:03:40Il m'a fallu beaucoup de recherches et de réglages pour que ça fonctionne enfin.
00:03:45Et même là, ce n'était pas aussi fluide qu'avec Kanata.
00:03:49Il confondait régulièrement les pressions longues avec des pressions brèves.
00:03:51Kanata, lui, gère ça parfaitement dès le départ sans aucun réglage,
00:03:56et je n'ai jamais eu envie de revenir à Karabiner-Elements.
00:03:59Donc si vous voulez vraiment des home row mods, je vous conseille Kanata.
00:04:03Mais tout n'est pas parfait pour autant.
00:04:05Il faut plusieurs fichiers si vous avez des mappages différents selon les claviers,
00:04:09ce qui est un peu pénible quand on débranche un clavier
00:04:12car il faut relancer une commande pour changer de configuration.
00:04:15Je n'ai pas non plus réussi à remapper le bouton lecture/pause sur F8,
00:04:20ce que je pouvais faire avec Karabiner.
00:04:22Et il a fallu quelques ajustements pour que Kanata fonctionne avec la souris MX Master.
00:04:26Heureusement, j'ai pu bricoler des solutions pour la plupart de ces problèmes,
00:04:30que je partagerai peut-être en open source bientôt.
00:04:31Mais j'aimerais que la communauté Kanata s'agrandisse,
00:04:34ce que cette vidéo pourrait aider à faire si vous la partagez massivement, n'est-ce pas ?

Key Takeaway

Kanata s'impose comme une alternative performante et ultra-rapide à Karabiner-Elements, particulièrement efficace pour les utilisateurs avancés souhaitant implémenter des configurations de type "home row mods" sans erreur de saisie.

Highlights

Présentation de Kanata

Timeline

Introduction et présentation de Kanata

L'auteur introduit Kanata comme un outil open source puissant capable de maximiser le potentiel de n'importe quel clavier. Il explique des concepts clés tels que l'assignation de fonctions différentes selon la pression (brève ou maintenue) et la création de macros. Cette section pose la problématique de la syntaxe inhabituelle de l'outil par rapport à ses concurrents comme Karabiner. L'objectif est de montrer comment cet outil aide ceux qui souhaitent tout piloter uniquement via leur clavier. La vidéo promet de détailler pourquoi Kanata peut être considéré comme supérieur à d'autres solutions logicielles classiques.

Origines, performance et compatibilité

Le créateur explique l'origine du nom Kanata, issu d'un terme indigène iroquois signifiant village, tout en précisant que cela n'a pas de lien direct avec la technologie. Il compare l'outil au célèbre micrologiciel QMK utilisé dans les claviers mécaniques haut de gamme. Contrairement à QMK qui nécessite un matériel spécifique, Kanata fonctionne au niveau logiciel, ce qui le rend compatible avec les claviers intégrés d'ordinateurs portables. Le choix du langage de programmation Rust garantit une exécution extrêmement rapide et une absence totale de latence perceptible. Cette performance est cruciale pour les utilisateurs exigeants qui ne tolèrent aucun délai lors de la frappe.

Syntaxe de configuration et fonctions de base

Cette partie aborde l'aspect le plus complexe : la configuration via des S-expressions inspirées de Lisp. L'auteur décrit cette syntaxe comme étrange car le nom de la fonction se place à l'intérieur des parenthèses avec ses arguments. Il illustre le fonctionnement avec les fonctions "defsource" pour définir la touche d'entrée et "deflayer" pour la sortie. L'exemple concret montre comment transformer la touche A en X, tout en précisant que les touches non définies conservent leur comportement d'origine. La flexibilité du format permet d'utiliser des espaces et des tabulations pour organiser le code de manière lisible malgré sa structure inhabituelle.

Fonctionnalités avancées : Tap-Hold et Variables

Le narrateur explore les fonctionnalités avancées comme le "tap-hold", permettant à une touche d'agir différemment selon la durée de pression. Il explique comment l'utilisation de "defvar" permet de simplifier la configuration en créant des variables réutilisables pour les modificateurs de touches. Une démonstration est faite sur la création d'une couche dédiée au montage vidéo, activable par une simple pression. L'aspect technique est poussé plus loin avec l'activation d'un serveur TCP permettant à Kanata de communiquer avec SketchyBar. Cette intégration permet d'afficher visuellement la couche active directement sur le bureau macOS, offrant un retour d'information en temps réel.

Comparaison directe avec Karabiner-Elements

L'auteur compare Kanata à Karabiner-Elements, notant que ce dernier possède une interface graphique et des réglages par application plus accessibles. Cependant, il souligne une faiblesse majeure de Karabiner : la gestion imprécise des "home row mods". Il explique que Karabiner confond souvent les pressions longues et brèves, ce qui nuit à la fluidité de la frappe. Kanata résout ce problème nativement et offre une expérience beaucoup plus stable pour ce type de configuration complexe. C'est cet argument précis qui justifie, selon lui, l'abandon définitif de Karabiner au profit de Kanata.

Limites actuelles et conclusion

Malgré ses avantages, l'auteur reconnaît que Kanata n'est pas parfait et présente quelques inconvénients pratiques. Il mentionne la difficulté de gérer plusieurs fichiers pour différents claviers et l'obligation de relancer des commandes manuellement lors du débranchement d'un périphérique. Certains remappages spécifiques, comme les touches multimédias ou la compatibilité avec la souris MX Master, ont nécessité des ajustements complexes. Il conclut en exprimant son souhait de voir la communauté autour de cet outil grandir pour faciliter l'entraide. Enfin, il invite les spectateurs à partager la vidéo pour soutenir le développement et la visibilité de ce projet open source.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video