Teclado IME do Kwiq

Um teclado virtual completo com sugestões offline em 3 idiomas, dicionário local, templates Mustache, ferramentas Markdown, emoji, setas WASD e modo anônimo.

1 Ativação

Para usar o teclado Kwiq como seu método de entrada padrão:

  1. Abra as Configurações do Android > Sistema > Teclado > Teclado Virtual.
  2. Ative "Kwiq Keyboard" na lista de teclados disponíveis.
  3. Selecione "Kwiq Keyboard" como método de entrada padrão.

Alternativamente, nas Configurações do Kwiq, vá em "Teclado" e toque em "Ativar Teclado". Isso abre as configurações de teclado do Android diretamente.

Nota o teclado funciona em QUALQUER app, independentemente do launcher que você usa. Não é necessário ter o Kwiq como launcher padrão para usar o teclado.

2 Idiomas Suportados

O teclado suporta 3 idiomas com dicionários offline completos:

Português (PT)

Locale pt_BR. Layout QWERTY com acentos e ç. Dicionário com palavras em português brasileiro.

English (EN)

Locale en_US. Layout QWERTY padrão americano. Dicionário com palavras em inglês.

Español (ES)

Locale es_ES. Layout QWERTY com ñ. Dicionário com palavras em espanhol.

Troca de idioma: toque no botão de idioma na barra espaçadora para alternar entre PT, EN e ES rapidamente. A ordem de troca é PT → EN → ES → PT.

O idioma também pode ser alterado via InputMethodSubtype do sistema, se configurado.

3 Dicionário Offline

O Kwiq possui um sistema de dicionário offline completo, baseado em Room Database:

  • BundledDictionaryStore: dicionários embutidos nos assets do app, carregados em uma estrutura DictionaryTrie (trie para busca eficiente de prefixos).
  • KeyboardDictionaryDatabase: banco Room com tabelas words (palavras), bigrams (pares de palavras), learning_history (histórico de aprendizado).
  • DictionaryTextNormalizer: remove acentos e normaliza texto para busca consistente.
  • DictionaryLocaleMapper: normaliza tags de locale (pt_BR, pt-PT, en_US, es_ES).

O dicionário aprende palavras novas que você digita e sugere baseado no seu histórico de uso local, tudo no dispositivo, sem enviar dados para servidores.

Gerenciamento de Dicionário

O Kwiq oferece broadcasts para gerenciar o dicionário programaticamente:

  • ActionClearLearning — limpa todo o histórico de aprendizado.
  • ActionAddWord — adiciona uma palavra ao dicionário.
  • ActionRemoveWord — remove uma palavra do dicionário.

4 Sugestões e Autocorreção

A engine de sugestões (KeyboardSuggestionEngine) oferece:

  • Bigram matches: sugere a próxima palavra baseada no histórico de pares de palavras (ex: depois de "bom", sugere "dia").
  • Prefix matches: palavras no dicionário que começam com o que você digitou.
  • Correção fuzzy: usa distância de Levenshtein para corrigir palavras com 3+ caracteres que não estão no dicionário.
  • Autocorreção: automaticamente corrige palavras que não estão no dicionário (pode ser desativada nas configurações).
  • Rejeição inteligente: desfazer uma autocorreção com backspace impede que a mesma correção seja aplicada novamente, mesmo que você pressione espaço em seguida. O teclado respeita a sua escolha.

As sugestões aparecem em uma barra acima do teclado. Toque em uma sugestão para aceitá-la.

5 Layouts e Páginas

O teclado possui 18 páginas de teclas, organizadas em categorias:

Página Conteúdo
LettersLetras do alfabeto no layout QWERTY + linha numérica. PT tem ç, ES tem ñ.
NumbersDígitos, símbolos comuns, parênteses, operadores.
MathSímbolos matemáticos: ±, ×, ÷, √, ∞, etc.
CurrencyMoedas: $, €, £, ¥, ¢, R$, etc.
ArrowsSetas: ←, ↑, →, ↓, ↔, ⇐, ⇒, etc.
ShapesFormas geométricas: losangos, círculos, quadrados, estrelas.
CardsNaipes: espadas, copas, ouros, paus.
GreekAlfabeto grego: α, β, γ, Δ, etc.
TechnicalSímbolos técnicos: ©, ®, ™, §, ¶, etc.
SmileysEmoticons e smileys: ∼), :D, ;), etc.
PeopleEmoji de pessoas com suporte a tons de pele.
NatureAnimais, plantas, fenômenos naturais.
FoodComidas e bebidas.
TravelTransporte, lugares, bandeiras.
ActivitiesEsportes, atividades, objetos.
ObjectsObjetos diversos, ferramentas, tecnologia.
HeartsCorações e símbolos de afeto.
FlagsBandeiras de países.

O teclado se adapta automaticamente ao tipo de campo: texto, número, decimal ou telefone (ImeKeyboardKind).

6 Variantes de Teclas (Long-Press)

Cada tecla tem variantes acessíveis por pressionamento longo. Por exemplo:

O tempo de resposta do long-press pode ser ajustado nas configurações do teclado (curto, médio, longo).

Emojis de mãos e pessoas também possuem variantes com tons de pele.

7 Emoji

O teclado possui 9 páginas de emoji com categorias completas: Smileys, People, Nature, Food, Travel, Activities, Objects, Hearts e Flags.

  • Cada página pode ser acessada pelo seletor de páginas ao lado da barra espaçadora. Navegue entre elas deslizando horizontalmente ou tocando nos ícones de categoria.
  • Os emojis são inseridos diretamente no campo de texto como caracteres Unicode.

8 Ferramentas Markdown

Uma barra de ferramentas Markdown fica disponível acima do teclado (configurável) para facilitar a formatação de texto:

Wrap (Envolver)

Seleciona o texto digitado e envolve em formatação:

Prefix (Prefixo)

Insere prefixos de formatação no início da linha:

Link

Abre um diálogo para inserir um link formatado: [texto](url).

A barra de ferramentas Markdown pode ser ativada/desativada nas configurações do teclado.

9 Setas, WASD e Analógico

O teclado oferece 3 modos de navegação por setas:

Above Keyboard

Setas direcionais (← ↑ ↓ →) aparecem ACIMA do teclado. Ideal para edição de texto.

Below Keyboard

Setas direcionais aparecem ABAIXO do teclado, próximas à barra espaçadora.

Hidden

Setas ocultas. Use gestos ou atalhos para navegação.

Modo WASD

Quando ativado, as teclas W, A, S, D funcionam como setas direcionais. Isso é especialmente útil para:

  • Jogos baseados em texto ou termux.
  • Navegação em editores de texto.
  • Uso com teclado físico em modo desktop.

Analog Stick

Suporte a joystick analógico para navegação. Quando um controle com analógico está conectado, você pode usar o direcional para navegar pelo texto ou pela interface.

10 Templates Mustache

O Kwiq possui um sistema de templates Mustache para colagem rápida de texto com campos personalizáveis.

O que são?

Templates Mustache são textos com marcadores no formato {{ nome_do_campo }}. Ao colar um template, o teclado exibe um formulário para preencher os campos antes de inserir o texto final.

Exemplo

Template:

Ao colar, o teclado mostra campos para preencher: Nome, Assunto, Prazo. Após preencher, o texto é renderizado com os valores substituídos.

Como criar templates

  • Crie uma nota Markdown no File Manager do Kwiq com o texto desejado e marcadores {{ campo }}.
  • Fixe a nota na tela inicial (ela aparecerá como um card).
  • No teclado, a nota aparecerá na lista de templates disponíveis (acessíveis pelo ícone de nota na barra de ferramentas).

Ações ao colar

  • Cancel: descarta o template.
  • Paste Normal: cola o texto com os marcadores substituídos pelos valores preenchidos.
  • Paste Special: cola o texto com renderização customizada (quando aplicável).

11 Modo Anônimo

O modo anônimo (private mode) é uma opção de privacidade que, quando ativada:

  • Não aprende novas palavras digitadas.
  • Não envia dados de digitação para nenhum lugar (o teclado já não envia, mas o modo anônimo desativa o aprendizado local).
  • Não sugere palavras baseadas no seu histórico recente.
  • Indicador visual: a interface do teclado muda ligeiramente para indicar que o modo anônimo está ativo.

Para ativar/desativar, vá nas Configurações do Kwiq > Teclado > "Modo Anônimo".

Dica o modo anônimo é útil ao digitar informações sensíveis, como senhas, dados bancários ou mensagens privadas em dispositivos compartilhados.

12 Personalização

O teclado oferece diversas opções de personalização:

Vibração (Haptic)

Feedback tátil em cada tecla. Pode ser ativado/desativado. Usa HapticFeedbackConstants do Android.

Cor das Teclas

Tingimento das teclas com cor personalizada. A opção keyTintEnabled ativa/desativa o efeito.

Tempo de Long-Press

Ajuste o tempo necessário para ativar variantes de tecla: Curto, Médio ou Longo.

Barra de Ferramentas

Ative/desative a barra de ferramentas Markdown e a barra de setas independentemente.

Todas as opções estão disponíveis em: Configurações do Kwiq > Teclado.

13 Integração com Assistentes de IA

O teclado Kwiq se integra com assistentes de IA para oferecer sugestões contextuais avançadas:

  • Assistentes suportados: ChatGPT, Google Gemini, GitHub Copilot.
  • Como funciona: quando um assistente de IA está disponível no dispositivo, o teclado pode enviar o texto digitado para sugestões contextuais.
  • Integração: via KwiqAssistantContract, que usa Intent.ACTION_ASSIST para abrir o assistente configurado.

Para configurar, vá em Configurações do Kwiq > "Assistente" e escolha qual app de IA usar.

Atenção ao usar assistentes de IA, o texto digitado pode ser enviado para servidores externos. Use o modo anônimo se quiser evitar isso.

14 Dicas e Atalhos

Smart Space

O teclado insere espaço automaticamente após pontuação (quando configurado).

Caps Lock

Pressione longo o Shift para ativar Caps Lock. Pressione novamente para desativar.

Templates de Notas

Notas Markdown fixadas na Home podem ser usadas como templates de colagem no teclado. Crie notas com {{ campo }} para templates Mustache.

Pastas de Notas

As notas fixadas são gerenciadas pelo File Manager. Crie, edite e exclua notas de lá — elas aparecem automaticamente no teclado.