Poderá criar os seus próprios teclado ao criar os ficheiros respectivos. De momento, o KTouch não tem um editor de teclados, mas é à mesma fácil definir o seu próprio teclado. Não necessita de muito mais que alguma matemática para lidar com a geometria e de algum tempo. O melhor é começar com um ficheiro de teclado existente, criar uma cópia para a disposição do seu teclado e depois ajustar as linhas.
De momento, os ficheiros de teclado são ficheiros de texto simples codificados em UTF-8. Numa próxima versão do KTouch, os dados do teclado também serão guardados em ficheiros XML. Como tal, será aqui explicada de forma breve a estrutura de um ficheiro de teclado.
Um ficheiro de teclado normalmente começa com um cabeçalho que inclui algumas informações sobre o autor e o tipo de teclado.
####################################################
# KTouch
# Ficheiro do formato do teclado alemão
# Código=UTF-8
####################################################
Todas as linhas que comecem por um cardinal '#' são consideradas comentários. Depois da secção do comentário, existe um bloco de “teclas dos dedos”, que indicam as posições de repouso de todos os 8 dedos.
# # Unicode Carácter x y # FingerKey 97 A 18 20 FingerKey 115 S 28 20 FingerKey 100 D 38 20 FingerKey 102 F 48 20 FingerKey 106 J 78 20 FingerKey 107 K 88 20 FingerKey 108 L 98 20 FingerKey 246 Ö 108 20
As teclas têm a dimensão predefinida de 8 unidades, como tal, se usar uma grelha de 10 unidades irá obter um teclado de aspecto normal. O primeiro número é o código do carácter Unicode, como um número decimal. O Carácter é o texto impresso na tecla, codificado como UTF-8 (isto é automático nas versões mais recentes do Linux®; garanta apenas que o seu editor grava os ficheiros no formato UTF-8).
A próxima secção contém as teclas especiais, que são - à parte do BackSpace e do Enter - meramente decorativas.
# # Unicode Texto x y Largura Altura # ControlKey 260 Tab 0 10 15 10 ControlKey 13 Enter 138 20 12 10 ControlKey 258 Shift 123 30 27 10 ControlKey 264 AltGr 120 40 15 10 ControlKey 265 Ctrl 135 40 15 10 ControlKey 263 Alt 15 40 15 10 ControlKey 262 Strg 0 40 15 10 ControlKey 32 Leertaste 30 40 90 10 ControlKey 257 Shift 0 30 13 10 ControlKey 259 CapsLock 0 20 18 10 ControlKey 8 BackSpace 130 0 20 10
O texto que indicar para a tecla é impresso por completo no teclado. Contudo, para os textos de teclas “Shift”, “CapsLock”, “Tab”, “BackSpace” e “Enter”, o KTouch desenha os símbolos apropriados. Deste modo, poderá usar estes textos, independentemente da língua. Os outros textos de teclas, como o Ctrl ou o Alt, necessitam de ser traduzidos à mesma. A geometria das teclas de controlo poderá ser qualquer rectângulo, desde que descrito pelas coordenadas em X e Y do canto superior esquerdo, bem como a largura e a altura.
A próxima secção contém todos os caracteres do teclado (excepto as teclas dos dedos, que já foram definidas) que poderão ser escritas sem carregar no Shift.
# # Unicode Carácter x y TeclaDedoUnicode # NormalKey 94 ^ 0 0 97 NormalKey 49 1 10 0 97 NormalKey 50 2 20 0 115 NormalKey 51 3 30 0 100 NormalKey 52 4 40 0 102 NormalKey 53 5 50 0 102 NormalKey 54 6 60 0 102 . . . NormalKey 46 . 103 30 108 NormalKey 45 - 113 30 246
A definição destas teclas ou caracteres primários é mais ou menos a mesma que para as teclas de dedos, só que adicionam uma propriedade adicional. O último código de carácter Unicode identifica a tecla de dedo associada. Basicamente, refere qual o dedo que deverá ser usado para carregar nesta tecla.
A próxima e última sessão de um formato de teclado define todas as teclas que são carregadas com uma tecla modificadora, como a tecla Shift.
# # Unicode UnicodeDestino UnicodeDedo UnicodeControlo Comentário # HiddenKey 65 97 97 258 #A HiddenKey 66 98 102 258 #B HiddenKey 67 99 100 258 #C HiddenKey 68 100 100 258 #D . . . HiddenKey 124 60 97 264 #| HiddenKey 64 113 97 264 #@
As “teclas escondidas” estão de facto a controlar o que deverá acontecer ao teclado quando você escreve um determinado carácter. O primeiro número Unicode é o código do carácter que definir. O segundo número é o código do carácter da tecla no teclado (uma das teclas normais já definidas). O terceiro número indica uma tecla de dedo (onde o dedo repousa, quando não é necessário escrever qualquer letra) e o último número indica a tecla modificadora que necessita de pressionar para obter este carácter.
Vejamos um exemplo:
Imagine que deseja definir o carácter 'R' maiúsculo. Ele tem o código Unicode 82. O carácter obtido quando fora carregada a tecla 'R' sem o modificador é o 'r' minúsculo com o código Unicode 114. O dedo do 'R' descansa sobre a tecla 'f', que tem o código 102. Deste modo, para obter o 'R', terá de carregar na tecla Shift direita (ou esquerda) que tem o código 264 (de facto, não um código Unicode mas sim o código obtido por um evento de teclado do QT). Lembre-se que a identificação de teclas de controlo poderá mudar na próxima versão do KTouch. Mas, por agora, poderá usar os códigos dos outros ficheiros de teclado.