Um teclado mais sensato
Eu acho teclados dispositivos fascinantes, do ponto de vista do design, tecnológico e linguístico. Afinal, um teclado abrange as tarefas de (i) comunicação em linguagem escrita, (ii) operação e controle da máquina e (iii) programação em linguagem computacional.
Pouco tempo após começar a utilizar o GNU Emacs, eu me peguei pensando bastante sobre a posição das teclas do meu teclado. Depois de pesquisar um pouco, a primeira informação que encontrei foi sobre os diferentes layouts, principalmente o qwerty
e o dvorak
.
A princípio, a proposta do dvorak
de distribuir as teclas de acordo com a frequência das letras me pareceu sensata. Porém, em um contexto de escrita em línguas diferentes, a frequência e as posições teriam que mudar para cada idioma. Por esse único motivo, acabei decidindo continuar com o qwerty
por enquanto.
Embora o layout linguístico tenha tido impacto, eu estava mais preocupado com a posição das teclas operacionais. Por exemplo, para mim, não fazia sentido o CAPS ser uma tecla mais fácil de pressionar do que o ESC. Ao ler o livro Mastering Emacs, acabei descobrindo que os teclados, na época da criação do GNU Emacs, eram completamente diferentes em relação aos modificadores.
A much older joke is that Emacs stands for “Escape Meta Alt Control Shift.” (…) Back then, most Emacs keys were bound to a larger range of physical keyboard modifiers but when the keyboard maker (and the business that made the machines the keyboards were plugged into) went bust, Emacs had to change with the times. Instead of undoing the cornerstone of Emacs, the developers shuffled the keys around and made them work on normal, boring PC keyboards.
— Mickey Petersen, em Mastering Emacs (2015)
Quando vi a foto de um Space Cadet usado nas primeiras máquinas Lisp, muitos atalhos tradicionais do GNU começaram a fazer ainda mais sentido, para além do seu aspecto mnemônico. Por exemplo, o fato de a atual tecla Alt ser chamada de M- (Meta).
Até esse momento eu estava utilizando o formidável KMonad para trocar a posição do CAPS com o ESC. Também passei algum tempo personalizando diferentes camadas para ter um pouco mais de conforto, mesmo em um design de teclado tradicional. Um dos recursos mais poderosos do KMonad é a possibilidade de atribuir comandos diferentes à mesma tecla com base no tipo de pressionamento. Por exemplo, eu programei minha tecla SPC para agir como s- (Super) quando pressionada por mais de 500ms, sem afetar sua funcionalidade padrão.
#| --------------------------------------------------------------------
KMonad: BR abnt-2 100% template
-------------------------------------------------------------------- |#
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq slck pause
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w e r t y u i o p [ [ ret del end pgdn kp7 kp8 kp9 kp+
caps a s d f g h j k l ; ' ] kp4 kp5 kp6
lsft 102d z x c v b n m , . ; / rsft up kp1 kp2 kp3 kprt
lctl lmet lalt spc ralt cmp rctl left down rght kp0 kp. )
(deflayer base
caps f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq slck pause
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w e r t y u i o p [ [ ret del end pgdn kp7 kp8 kp9 kp+
@ces a s d f g h j k l ; ' ] kp4 kp5 kp6
lsft 102d z x c v b n m , . ; / rsft up kp1 kp2 kp3 kprt
lctl lmet lalt @dwm ralt @swt rctl left down rght kp0 kp. )
(deflayer xfk
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq slck pause
grv 1 2 3 4 del 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w @db @df t y @bw up @fw p [ [ ret del end pgdn kp7 kp8 kp9 kp+
caps a ret bspc f g home left down rght end ' ] kp4 kp5 kp6
lsft 102d z x c v b n m , . ; / rsft up kp1 kp2 kp3 kprt
lctl lmet lalt spc ralt @swt rctl left down rght kp0 kp. )
(deflayer switch
_ @s1 @s2 _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ @swt _ _ _ _ _ _ )
(defalias
dwm (tap-hold 500 spc lmet)
swt (layer-toggle switch)
ces (tap-hold 500 esc lctl)
s1 (layer-switch base)
s2 (layer-switch xfk)
bw (around ctl left)
fw (around ctl right)
db (around ctl bspc)
df (around ctl del))
Porém, mesmo após personalizar o meu teclado inteiro com o KMonad, eu ainda me incomodava com a posição física das teclas. Além disso, a ideia de executar um programa separado para modificá-las também não me agradava tanto. Foi então que descobri o teclado X-Bows.
O X-Bows possui teclas alternativas para a posição do polegar, que anteriormente era utilizado principalmente para pressionar a tecla SPC. Com essas novas teclas, consigo controlar os modificadores C-, M- e S- apenas com esse dedo. Também possuo DEL e RET em fácil alcance. Em síntese, o teclado alivia combinações do dedo mais fraco, o mindinho, para dedos mais fortes próximos ao centro do teclado. Isso, junto com o espaçamento e a angulação, representa enormes ganhos em conforto e desempenho.
Além dos benefícios ergonômicos, poder pressionar os modificadores com o polegar também é uma dádiva ao utilizar o GNU Emacs. Além disso, percebi que a adaptação ao teclado foi mais rápida do que imaginei. Vou escrever mais sobre isso em uma próxima publicação sobre digitação por toque.
De antemão, estou utilizando o X-Bows há pouco mais de 3 meses. A única desvantagem que notei até agora foi que me acostumei tanto com seu design que estranho digitar em outros teclados, principalmente em laptops. De certa forma, fiquei um pouco dependente dele, o que não é necessariamente ruim. Idealmente, seria ótimo se existissem laptops com o design thumb cluster um dia. Ou melhor, se esse design se tornasse um padrão difundido.
Até lá, a opção mais viável tem sido carregar o X-Bows sempre que necessário.
Retro-Computing Society of Rhode Island, via Wikimedia Commons.
∗ ∗ ∗