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:
- Abra as Configurações do Android > Sistema > Teclado > Teclado Virtual.
- Ative "Kwiq Keyboard" na lista de teclados disponíveis.
- 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.
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 |
|---|---|
| Letters | Letras do alfabeto no layout QWERTY + linha numérica. PT tem ç, ES tem ñ. |
| Numbers | Dígitos, símbolos comuns, parênteses, operadores. |
| Math | Símbolos matemáticos: ±, ×, ÷, √, ∞, etc. |
| Currency | Moedas: $, €, £, ¥, ¢, R$, etc. |
| Arrows | Setas: ←, ↑, →, ↓, ↔, ⇐, ⇒, etc. |
| Shapes | Formas geométricas: losangos, círculos, quadrados, estrelas. |
| Cards | Naipes: espadas, copas, ouros, paus. |
| Greek | Alfabeto grego: α, β, γ, Δ, etc. |
| Technical | Símbolos técnicos: ©, ®, ™, §, ¶, etc. |
| Smileys | Emoticons e smileys: ∼), :D, ;), etc. |
| People | Emoji de pessoas com suporte a tons de pele. |
| Nature | Animais, plantas, fenômenos naturais. |
| Food | Comidas e bebidas. |
| Travel | Transporte, lugares, bandeiras. |
| Activities | Esportes, atividades, objetos. |
| Objects | Objetos diversos, ferramentas, tecnologia. |
| Hearts | Corações e símbolos de afeto. |
| Flags | Bandeiras 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".
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 usaIntent.ACTION_ASSISTpara abrir o assistente configurado.
Para configurar, vá em Configurações do Kwiq > "Assistente" e escolha qual app de IA usar.
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.