Esta herramienta de teclado es MEJOR que Karabiner (Y aquí te explico por qué)

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

Transcript

00:00:00Este es Kanata, una herramienta de código abierto que maximiza el potencial de tu teclado
00:00:03haciendo cosas como registrar una tecla diferente según si la pulsas o la mantienes presionada,
00:00:08usar una sola tecla para activar múltiples pulsaciones,
00:00:10o tener diferentes capas para distintos mapeos de teclas personalizados.
00:00:12Lo cual es genial para alguien como yo, que intenta usar principalmente el teclado.
00:00:16Pero, ¿a qué viene esa sintaxis de configuración tan rara?
00:00:19¿Y por qué usaría esto en lugar de Karabiner u otra herramienta que empiece por K?
00:00:24Suscríbete y vamos a verlo a fondo.
00:00:27Kanata es el nombre indígena iroqués para "aldea",
00:00:30lo cual no tiene absolutamente nada que ver con los teclados.
00:00:33Pero si te gustan los teclados mecánicos, puede que hayas oído hablar de QMK,
00:00:37un popular firmware de código abierto para teclados,
00:00:39que permite remapear las teclas en el propio hardware antes de enviar la señal al equipo.
00:00:42Kanata es como QMK pero funciona a nivel de software,
00:00:46así que es compatible con todos los teclados, incluso el de tu portátil.
00:00:49Y como está escrito en Rust, esto significa que es rápido
00:00:52y que realmente no hay retraso perceptible al escribir.
00:00:55Aunque no es tan sencillo de configurar,
00:00:57porque tras instalar Kanata con Karabiner para Mac (luego hablaré de eso),
00:01:00luego hablaré de eso,
00:01:02tienes que escribir un archivo de configuración usando una sintaxis de expresiones S inspirada en Lisp,
00:01:07que es la sintaxis de configuración más extraña que he visto jamás.
00:01:11En lugar de escribir el nombre de la función fuera de los paréntesis, como sería de esperar,
00:01:16en este archivo se escribe dentro de los paréntesis, justo al lado de los argumentos.
00:01:21Pero la cosa se vuelve más rara cuando empiezas a anidar funciones,
00:01:24lo cual es bastante común en la configuración,
00:01:26porque en vez de tener los nombres de las funciones fuera de los paréntesis,
00:01:30todo queda dentro, haciendo que parezca un poco difícil de entender al principio.
00:01:35Pero te acabas acostumbrando después de un tiempo.
00:01:36Como ejemplo sencillo de mapeo, digamos que quiero que la tecla A actúe como la X.
00:01:41Puedo hacerlo con la función "defsource" para especificar las teclas de origen con el argumento A,
00:01:46y al menos una función "deflayer" para especificar las teclas de salida.
00:01:50A esta la llamaré "base" y le daré el argumento X.
00:01:53Cualquier tecla que no figure en el archivo de configuración se comportará de forma normal.
00:01:57Así que añadir más teclas como B y C y mapearlas a X y Z se ve así.
00:02:02Por suerte, los espacios en blanco y los tabuladores son irrelevantes,
00:02:04así que puedes espaciar las teclas para que sean tan legibles como quieras.
00:02:08Hay otras cosas interesantes que puedes hacer con este archivo.
00:02:10Podría configurar el "tap hold", para que pulsar haga una acción y mantener haga otra,
00:02:15definiendo un tiempo de espera y las teclas que quiero mapear.
00:02:19En este caso, pulsar A registrará X y mantenerla registrará el Shift izquierdo.
00:02:24Para facilitar las cosas, podría añadir una función "defvar" para registrar variables
00:02:28que use varias veces y referenciarlas con el símbolo de dólar.
00:02:32Esto es perfecto para los "home row mods", asignando las teclas centrales a los cuatro modificadores comunes.
00:02:36Sinceramente, parece muy raro al principio,
00:02:39pero me he acostumbrado tanto que no me imagino usando un teclado de otra forma.
00:02:42También podría crear un nuevo "deflayer" con un nombre como "editor"
00:02:46específicamente para editar vídeos, con todo un conjunto nuevo de mapeos
00:02:51y cambiar a esa capa mediante una tecla de cambio de capa.
00:02:54Y si quieres hacer algo realmente pro al cambiar de capa o cualquier otra cosa,
00:02:58puedes activar el servidor TCP de Kanata para que otras aplicaciones lo escuchen.
00:03:03En mi caso, tengo SketchyBar escuchando a Kanata
00:03:06para que, cuando cambio de capa, se muestre en la parte superior de mi escritorio.
00:03:10Sí, costó mucha configuración llegar a este punto,
00:03:13pero no es nada con lo que la IA no pueda ayudar.
00:03:16Aun así, ¿por qué alguien usaría Kanata en lugar de Karabiner Elements?
00:03:21Teniendo en cuenta que este último puede hacer todo lo de Kanata y mucho más,
00:03:24como mapeos específicos según la aplicación o el teclado,
00:03:28probar teclas con un visor de eventos muy intuitivo,
00:03:30y una interfaz gráfica para quienes no gustan de usar comandos en la terminal.
00:03:35Pero para mí, la función "tap hold" de Karabiner para los home row mods dejaba mucho que desear.
00:03:40Me llevó mucha investigación y configuración lograr que funcionara bien.
00:03:45E incluso cuando lo conseguí, no era tan intuitivo como en Kanata.
00:03:49A menudo registraba las pulsaciones largas como toques simples.
00:03:51Kanata, en cambio, manejó esto perfectamente desde el principio sin ajustes,
00:03:56y no he sentido la necesidad de volver a Karabiner Elements.
00:03:59Así que, si realmente quieres home row mods, te sugiero usar Kanata.
00:04:03Pero eso no significa que sea perfecto.
00:04:05Necesitarás varios archivos de configuración si usas distintos teclados con distintos mapeos,
00:04:09lo cual es algo molesto si desconectas un teclado,
00:04:12porque tienes que ejecutar un comando para cambiar al mapeo correspondiente.
00:04:15No encontré forma de remapear el botón play/pause a F8 en mi teclado,
00:04:20algo que sí podía hacer con Karabiner.
00:04:22Y me costó unos cuantos ajustes hacer que Kanata funcionara con el ratón MX Master.
00:04:26Por suerte, he podido programar soluciones para la mayoría de estos problemas,
00:04:30que quizás publique como código abierto en el futuro.
00:04:31Pero ojalá Kanata tuviera una comunidad más grande,
00:04:34algo a lo que este vídeo podría ayudar si más gente lo comparte con sus amigos y colegas, ¿verdad?

Key Takeaway

Kanata se posiciona como la herramienta definitiva de remapeo de teclado para usuarios avanzados que buscan precisión en funciones de pulsación larga y capas personalizadas, superando las limitaciones técnicas de Karabiner Elements.

Highlights

Kanata es una herramienta de código abierto escrita en Rust que funciona como un firmware de teclado a nivel de software.

Utiliza una sintaxis de configuración basada en expresiones S de Lisp

Timeline

Introducción a Kanata y sus capacidades

El video comienza presentando a Kanata como una herramienta diseñada para maximizar el potencial de cualquier teclado mediante el uso de código abierto. El narrador explica funciones clave como el registro de teclas dobles según la duración de la presión y la activación de múltiples pulsaciones con una sola tecla. También menciona la posibilidad de crear capas personalizadas, algo fundamental para usuarios que prefieren no despegar las manos del teclado. Esta sección establece la premisa del video al comparar a Kanata con otras herramientas populares que comienzan con la letra K. Finalmente, se invita al espectador a suscribirse para profundizar en el análisis técnico de la aplicación.

Origen de Kanata y comparación con el firmware QMK

El autor aclara que el nombre Kanata proviene de un término indígena iroqués que significa "aldea", aunque no tiene relación directa con la tecnología. Se establece una analogía directa con QMK, el estándar de oro en firmware para teclados mecánicos personalizados de alta gama. A diferencia de QMK, que requiere hardware compatible, Kanata emula estas funciones mediante software escrito en el lenguaje de programación Rust. Esto garantiza una velocidad de procesamiento excepcional y una latencia casi inexistente en la entrada de datos. Gracias a esta arquitectura, es posible aplicar configuraciones avanzadas incluso en teclados de portátiles estándar.

La complejidad de la sintaxis y configuración inicial

En este segmento se aborda la curva de aprendizaje de Kanata, destacando su inusual sintaxis inspirada en las expresiones S de Lisp. El narrador explica cómo las funciones se escriben dentro de los paréntesis junto a sus argumentos, lo que puede resultar confuso al principio. Se muestran ejemplos prácticos utilizando las funciones "defsource" para definir las teclas físicas y "deflayer" para establecer la salida deseada. El autor subraya que, aunque el anidamiento de funciones parece caótico, el usuario se termina acostumbrando con la práctica constante. Además, se menciona que el uso de espacios en blanco y tabulaciones ayuda significativamente a mantener el archivo de configuración legible.

Funciones avanzadas: Tap Hold, Variables y Capas

El análisis se profundiza al explicar la configuración de la función "tap hold", que permite asignar diferentes acciones a una tecla según se pulse o se mantenga. Se introduce la función "defvar" para manejar variables que simplifican la implementación de "home row mods" y evitan la repetición de código. El video muestra cómo crear capas específicas para tareas como la edición de video, permitiendo cambios de mapeo instantáneos mediante teclas dedicadas. Un punto destacado es la activación del servidor TCP de Kanata para comunicarse con aplicaciones externas como SketchyBar en macOS. El narrador admite que llegar a este nivel de personalización requiere tiempo, aunque sugiere que la IA puede facilitar la redacción del código.

Comparativa directa: Kanata frente a Karabiner Elements

El autor analiza por qué prefiere Kanata a pesar de que Karabiner Elements ofrece una interfaz gráfica y funciones más intuitivas para el usuario común. El argumento central reside en la fiabilidad de la función "tap hold", que en Karabiner solía fallar al registrar pulsaciones largas como simples toques. Kanata resuelve este problema de raíz, ofreciendo una experiencia mucho más precisa para quienes dependen de modificadores en la fila principal del teclado. Aunque Karabiner cuenta con visores de eventos y mapeos por aplicación, la consistencia de Kanata resulta superior para el flujo de trabajo del autor. Esta sección es crucial para entender la propuesta de valor de la herramienta en términos de rendimiento técnico.

Limitaciones actuales y conclusión del análisis

El video concluye mencionando los puntos débiles de Kanata, como la gestión engorrosa de múltiples archivos de configuración para diferentes teclados físicos. El autor señala dificultades específicas para remapear teclas multimedia como el botón de reproducción/pausa y problemas de compatibilidad inicial con ratones avanzados como el MX Master. A pesar de estos obstáculos, el narrador ha logrado programar soluciones personalizadas y expresa su deseo de liberar este código en el futuro. Se hace un llamado a la comunidad para que comparta el video y así ayudar a que el ecosistema de Kanata crezca. El mensaje final es de optimismo hacia la herramienta, siempre que el usuario esté dispuesto a lidiar con su configuración técnica.

Community Posts

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

Write about this video