Esta Ferramenta de Teclado é MELHOR que o Karabiner (Saiba Por Quê)

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

Transcript

00:00:00Este é o Kanata, uma ferramenta de código aberto que maximiza o potencial do seu teclado
00:00:03fazendo coisas como registrar uma tecla diferente quando ela é tocada versus quando é segurada,
00:00:08usar uma única tecla para acionar múltiplos comandos,
00:00:10ou ter camadas diferentes para mapeamentos de teclas personalizados.
00:00:12O que é ótimo para alguém como eu, que faz o possível para usar principalmente o teclado.
00:00:16Mas qual é a dessa sintaxe de configuração estranha?
00:00:19E por que eu usaria isso em vez do Karabiner ou de outra ferramenta que começa com K?
00:00:24Se inscreva no canal e vamos direto ao assunto.
00:00:27Kanata é o nome indígena iroquês para "vila",
00:00:30o que não tem nada a ver com teclados.
00:00:33Mas se você gosta de teclados mecânicos como eu, talvez já tenha ouvido falar do QMK,
00:00:37um firmware de teclado de código aberto muito popular,
00:00:39que permite remapear as teclas no próprio teclado antes de o sinal ser enviado para a máquina.
00:00:42O Kanata é como o QMK, mas funciona no nível de software,
00:00:46por isso suporta todos os teclados, até mesmo o do seu notebook.
00:00:49E por ser escrito em Rust, isso significa que ele é rápido
00:00:52e não há praticamente nenhum atraso perceptível ao digitar.
00:00:55Mas não é tão simples de configurar,
00:00:57porque após instalar o Kanata com o Karabiner para Mac —
00:01:00falarei mais sobre isso depois —
00:01:02você precisa escrever um arquivo de configuração usando esta sintaxe de expressão-S inspirada em Lisp,
00:01:07que é a sintaxe de configuração mais bizarra que eu já vi.
00:01:11Porque, em vez de escrever o nome da função fora dos parênteses como seria de se esperar,
00:01:16neste arquivo, você a escreve dentro dos parênteses, logo ao lado dos argumentos.
00:01:21Mas a coisa fica ainda mais estranha quando você começa a aninhar funções,
00:01:24o que é bem comum na configuração,
00:01:26porque em vez de ter os nomes das funções fora dos parênteses,
00:01:30tudo fica dentro, o que torna a compreensão um pouco difícil no início.
00:01:35Mas você acaba se acostumando depois de um tempo.
00:01:36Como um exemplo simples de mapa de teclas, digamos que eu queira que a tecla A mapeie para X.
00:01:41Eu posso fazer isso com uma função "defsource" para especificar as teclas de origem com o argumento A,
00:01:46e pelo menos uma função "deflayer" para especificar as teclas de saída,
00:01:50que chamarei de "base" e darei o argumento X.
00:01:53Qualquer tecla não listada no arquivo de configuração se comporta normalmente.
00:01:57Adicionar mais teclas como B e C e mapeá-las para X e Z ficaria assim.
00:02:02Felizmente, espaços e tabs são insignificantes,
00:02:04então você pode espaçar as teclas para deixá-las tão legíveis quanto quiser.
00:02:08Mais algumas coisas legais que dá para fazer nesse arquivo.
00:02:10Eu poderia configurar o "tap-hold", onde tocar faz uma ação e segurar faz outra,
00:02:15definindo um tempo limite e as teclas que desejo mapear.
00:02:19Neste caso, tocar no A registrará X, e segurar registrará o Shift esquerdo.
00:02:24Para facilitar, eu poderia usar uma função "defvar" para registrar variáveis
00:02:28que uso várias vezes na configuração e referenciá-las com um cifrão,
00:02:32o que é perfeito para "home row mods", combinando as teclas de repouso com os quatro modificadores comuns.
00:02:36Para ser sincero, isso parece muito estranho no começo,
00:02:39mas eu me acostumei tanto que não consigo imaginar usar um teclado de outra forma.
00:02:42Eu também poderia criar uma nova "deflayer" com um nome como "editor"
00:02:46e usá-la especificamente para editar vídeos, com um conjunto totalmente novo de mapeamentos,
00:02:51alternando para essa camada através de uma tecla de troca de camada.
00:02:54E se quiser fazer algo realmente avançado na troca de camadas ou qualquer outra coisa,
00:02:58você pode habilitar o servidor TCP do Kanata para que outros aplicativos possam escutá-lo.
00:03:03No meu caso, tenho o SketchyBar monitorando o Kanata
00:03:06para que, quando eu mudo de camada, isso apareça no topo da minha área de trabalho.
00:03:10Sim, deu trabalho escrever tanta configuração para chegar nesse nível,
00:03:13mas nada que uma IA não possa ajudar a resolver.
00:03:16De qualquer forma, por mais legal que isso seja, por que alguém usaria o Kanata em vez do Karabiner Elements?
00:03:21Considerando que ele faz tudo o que o Kanata faz e muito mais,
00:03:24como mapeamentos específicos por aplicativo ou por teclado,
00:03:28teste de teclas com um visualizador de eventos intuitivo,
00:03:30e uma interface gráfica agradável para quem não gosta de comandos no terminal.
00:03:35Mas para mim, o recurso de "tap-hold" do Karabiner — essencial para home row mods — deixava muito a desejar.
00:03:40Exigiu muita pesquisa e configuração para chegar ao ponto de fazê-lo funcionar.
00:03:45E mesmo quando consegui, não era tão intuitivo quanto no Kanata.
00:03:49Ele registrava constantemente o ato de segurar como um toque rápido.
00:03:51O Kanata, porém, lidou com isso perfeitamente logo de cara, sem ajustes,
00:03:56e não senti necessidade de voltar para o Karabiner Elements.
00:03:59Portanto, se você quer mesmo usar home row mods, sugiro o Kanata.
00:04:03Mas isso não significa que ele seja perfeito.
00:04:05Você precisará de vários arquivos de configuração se tiver teclados com mapas diferentes,
00:04:09o que é um pouco chato se você desconecta um teclado,
00:04:12pois precisa rodar um comando para alternar o mapeamento.
00:04:15Não consegui remapear o botão de play/pause para F8 no meu teclado,
00:04:20algo que eu conseguia fazer com o Karabiner.
00:04:22E levou alguns ajustes para o Kanata funcionar com o mouse MX Master.
00:04:26Felizmente, consegui resolver a maioria desses problemas com soluções rápidas de código,
00:04:30que talvez eu torne código aberto no futuro.
00:04:31Mas eu realmente gostaria que o Kanata tivesse uma comunidade maior,
00:04:34o que este vídeo pode ajudar a fazer se mais pessoas compartilharem com amigos e colegas, certo?

Key Takeaway

O Kanata se destaca como uma alternativa de alta performance ao Karabiner, sendo ideal para usuários avançados que buscam implementar home row mods e camadas personalizadas com latência mínima.

Highlights

O Kanata é uma ferramenta de código aberto escrita em Rust

Timeline

Introdução ao Kanata e suas Funcionalidades

O narrador apresenta o Kanata como uma ferramenta poderosa para quem prefere utilizar o teclado para quase todas as tarefas no computador. Ele destaca funções essenciais como o registro de teclas diferentes para toques rápidos versus pressionamentos longos e o uso de camadas personalizadas. A introdução levanta o questionamento sobre por que escolher o Kanata em vez de concorrentes populares como o Karabiner. O vídeo promete explorar a sintaxe única e os benefícios de performance dessa ferramenta de código aberto. Este segmento estabelece o tom técnico e prático da análise que será desenvolvida adiante.

Origens, Performance e a Estranha Sintaxe Lisp

Nesta seção, é explicado que o Kanata funciona de forma semelhante ao firmware QMK, mas atua no nível de software, o que garante compatibilidade universal. Por ser escrito em Rust, o software oferece uma velocidade excepcional sem atrasos perceptíveis durante a digitação rápida. O ponto polêmico abordado é a sintaxe de configuração baseada em expressões-S, inspirada na linguagem de programação Lisp. O narrador descreve a experiência de escrita como bizarra inicialmente, devido ao aninhamento constante de funções dentro de parênteses. Apesar da curva de aprendizado íngreme, o autor afirma que a lógica se torna intuitiva com o tempo e o uso constante.

Exemplos Práticos de Configuração e Camadas

O vídeo demonstra como criar mapeamentos básicos utilizando as funções "defsource" e "deflayer" para transformar teclas comuns em comandos personalizados. São introduzidos conceitos como o uso de variáveis via "defvar" para facilitar a configuração de modificadores de linha inicial, conhecidos como "home row mods". O autor exemplifica a criação de camadas específicas para edição de vídeo, permitindo alternar entre perfis de uso com facilidade. Um recurso avançado mencionado é a ativação do servidor TCP, que permite a comunicação com aplicativos externos para monitoramento. O uso de IA é sugerido como uma solução viável para lidar com a complexidade de escrever arquivos de configuração extensos.

Kanata vs. Karabiner Elements: O Veredito

O narrador faz uma comparação direta com o Karabiner Elements, reconhecendo que o concorrente possui uma interface gráfica mais amigável e recursos extras por aplicativo. No entanto, ele argumenta que o Kanata vence categoricamente na execução da função "tap-hold", vital para quem usa o teclado de forma ergonômica. O Karabiner frequentemente falhava ao registrar comandos, enquanto o Kanata funcionou perfeitamente sem necessidade de ajustes finos. Essa precisão é o fator decisivo que torna o Kanata a recomendação principal para entusiastas de teclados mecânicos e produtividade extrema. O autor reforça que a estabilidade do software em Rust compensa a falta de uma interface visual.

Limitações Atuais e Conclusão

Na conclusão, o vídeo aborda as desvantagens do Kanata, como a dificuldade de gerenciar múltiplos perfis para diferentes teclados físicos. É mencionado que alguns mapeamentos de teclas de mídia, como o botão de play/pause, podem apresentar problemas de compatibilidade em certos sistemas. O autor também relata que foi necessário realizar ajustes manuais de código para que o software funcionasse corretamente com o mouse MX Master. Ele expressa o desejo de que a comunidade em torno do projeto cresça para facilitar o suporte e o desenvolvimento de novas soluções. O vídeo encerra com um pedido de engajamento para fortalecer o ecossistema dessa ferramenta promissora.

Community Posts

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

Write about this video