OLED, são úteis? O que fazem?
O OLED é uma telinha opcional em cima da controladora que mostra o que está acontecendo no teclado: a camada ativa, o Caps Lock, a velocidade de digitação, a bateria e o Bluetooth nos teclados sem fio, ou só um logo. Ele não muda como o teclado digita, mas ajuda bastante a saber em que camada você está, principalmente no começo.
O que é o OLED do teclado?
É uma tela pequena e monocromática, de 128 x 32 pixels, que fica em cima da controladora. Corne, Lily58 e Sofle têm lugar para um OLED em cada metade.
Ele é opcional: o teclado funciona igual sem ele. Quem decide o que aparece na tela é o firmware, QMK nos teclados com fio e ZMK nos sem fio.
O que o OLED pode mostrar?
Quase tudo o que cabe em 128 x 32 pixels. Os usos mais comuns são:
- Camada atual: o nome da camada que está ativa, como Base, Números ou Símbolos.
- Caps Lock e Num Lock: muitos teclados split não têm LED para isso, e o OLED faz esse papel.
- Velocidade (WPM): quantas palavras por minuto você está digitando, ao vivo.
- Bateria e Bluetooth: nos teclados sem fio, a carga de cada metade, o perfil Bluetooth em uso e se está conectado por USB ou Bluetooth.
- Logo ou desenho: uma imagem fixa, como o logo da sua marca ou um pixel art.
- Animação: desenhos que se mexem e reagem quando você digita.
OLED é útil? Vale a pena?
Depende de como você usa o teclado. Ele ajuda mais em algumas situações do que em outras.
- Vale a pena se você está aprendendo a usar camadas: ver qual camada está ativa evita muito erro de digitação nas primeiras semanas.
- Vale a pena para ver o Caps Lock, já que a maioria dos splits não tem LED.
- Vale a pena no teclado sem fio para ver a bateria de cada metade e qual perfil Bluetooth está em uso.
- Faz menos diferença depois que você decora as camadas: muita gente quase não olha mais para a tela.
Quais as desvantagens do OLED?
O OLED ajuda, mas tem um custo. Antes de pedir o seu, vale conhecer os pontos fracos.
- Consumo de energia: no teclado sem fio, a tela acesa é um dos itens que mais gastam a bateria. Com o OLED, a bateria dura bem menos do que sem ele. Dá para simular a diferença no ZMK Power Profiler.
- Bateria pequena: os teclados sem fio costumam usar baterias de 130 a 150 mAh. Dá para usar uma bateria maior, mas o teclado pode ficar mais alto e mais volumoso.
- Marcas na tela (burn-in): uma imagem parada por muito tempo pode marcar o OLED.
- Fragilidade: a tela é um vidro fino, que pode trincar com uma pancada ou se for apertado.
- Pouca informação na metade direita do ZMK: lá aparece só a bateria e a conexão.
Cuidados com o OLED
O OLED é durável, mas pede alguns cuidados.
- Marcas na tela (burn-in): uma imagem parada por muito tempo pode marcar o OLED. Por isso o QMK e o ZMK apagam a tela depois de um tempo sem uso.
- Vidro frágil: a tela é um vidro fino. Não aperte nem apoie peso em cima dela; a tampa de acrílico protege no dia a dia.
- Bateria: no teclado sem fio, a tela acesa reduz a duração da bateria.
Como configurar o OLED no QMK?
Nos teclados da Tupinikeebs com QMK, o OLED já vem configurado no firmware Vial. O app do Vial não muda o que aparece na tela: para mudar, é preciso editar o firmware no QMK CLI e gravar de novo, como explicado no guia de QMK e Vial.
- No arquivo rules.mk do seu keymap, ligue o OLED com OLED_ENABLE = yes. Para mostrar a velocidade, adicione também WPM_ENABLE = yes.
- No keymap.c, crie a função bool oled_task_user(void). Tudo o que ela escrever com oled_write_P aparece na tela, e ela roda o tempo todo.
- Para mostrar a camada, use get_highest_layer(layer_state); para o Caps Lock, host_keyboard_led_state().caps_lock; para a velocidade, get_current_wpm().
- Para mostrar coisas diferentes em cada metade, use is_keyboard_master(): por exemplo, a metade com o cabo USB mostra o status e a outra mostra um logo.
- Se o texto aparecer de lado ou de cabeça para baixo, gire a tela na função oled_init_user, retornando OLED_ROTATION_90, OLED_ROTATION_180 ou OLED_ROTATION_270.
- Compile e grave o firmware nas duas metades.
Como colocar um logo ou animação no QMK?
Converta a sua imagem para o formato do OLED com o image2cpp ou o QMK Logo Editor. Eles geram um array em C que você cola no keymap.c e desenha com oled_write_raw_P.
Uma animação é só uma sequência dessas imagens (frames) trocadas a cada poucos milissegundos com um timer. Dá para fazer ela andar mais rápido quanto maior o WPM.
Para mudar quanto tempo a tela fica acesa sem uso, defina OLED_TIMEOUT no config.h, em milissegundos. O padrão é 60000 (1 minuto).
Como configurar o OLED no ZMK?
No ZMK, o OLED já tem uma tela de status pronta: é só ligar. A metade esquerda (central) mostra a bateria, o perfil Bluetooth ou USB e a camada atual; a metade direita (periférica) mostra só a bateria e se está conectada, porque quem processa as teclas e as camadas é a esquerda.
- No seu repositório zmk-config, abra o arquivo .conf do teclado, por exemplo config/corne.conf ou config/lily58.conf.
- Adicione a linha CONFIG_ZMK_DISPLAY=y.
- Para mostrar também a velocidade de digitação, adicione CONFIG_ZMK_WIDGET_WPM_STATUS=y.
- Faça o commit: o GitHub Actions compila o firmware novo. Baixe e grave nas duas metades, como explicado no guia de ZMK.
Dá para mudar a tela no ZMK?
Sim. O ZMK aceita telas customizadas com a opção CONFIG_ZMK_DISPLAY_STATUS_SCREEN_CUSTOM, desenhadas com a biblioteca LVGL, e a comunidade tem módulos prontos com desenhos e animações que você adiciona ao zmk-config. É mais trabalhoso que no QMK, mas possível.
Alguns teclados sem fio usam a nice!view no lugar do OLED: uma tela de memória que fica sempre ligada e gasta bem menos bateria.
OLED gasta bateria?
No teclado com fio, não faz diferença: a energia vem do cabo USB.
No teclado sem fio, sim: a tela acesa é um dos itens que mais gastam a bateria. O ZMK apaga a tela quando o teclado fica parado (opção CONFIG_ZMK_DISPLAY_BLANK_ON_IDLE, ligada por padrão), o que ajuda. Se a bateria está acabando rápido, desligar o OLED é a primeira coisa a testar.
Os teclados sem fio costumam usar baterias de 130 a 150 mAh, que cabem no case sem deixar o teclado alto. Dá para usar uma bateria maior e ganhar autonomia, mas o teclado pode ficar mais alto e mais volumoso.
Para ter uma ideia de quanto tempo a bateria dura com e sem o OLED, use o ZMK Power Profiler: você escolhe a bateria, a tela e o seu uso, e ele estima a duração.
Onde aprender mais?
Estes são os guias e documentações oficiais sobre o OLED.
- OLED no QMK: todas as funções, rotação e tempo de desligar.
- Telas no ZMK e opções de tela do ZMK: como ligar e o que dá para mudar.
- image2cpp: converte imagens para o formato do OLED.
- ZMK Power Profiler: estima quanto a bateria dura com e sem o OLED.
- Como configurar meu teclado com QMK e Vial e com ZMK, aqui na Wiki.