Como funcionam as teclas xkb do FOUR_LEVEL_SEMIALPHABETIC?

3

Eu não sou um especialista em xkb. Para alguns razão Eu estou olhando para este arquivo de símbolo xkb, e estou vendo algum grupo de chaves designado como FOUR_LEVEL_SEMIALPHABETIC .

Agora, a definição em types/caps é:

type "FOUR_LEVEL_SEMIALPHABETIC" {
    modifiers = Shift+Lock+LevelThree;
    map[None] = Level1;
    map[Shift] = Level2;
    preserve[Lock] = Lock;
    map[LevelThree] = Level3;
    map[Shift+LevelThree] = Level4;
    map[Lock+LevelThree] =  Level3;
    map[Lock+Shift+LevelThree] = Level4;
    preserve[Lock+LevelThree] = Lock;
    preserve[Lock+Shift+LevelThree] = Lock;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Alt Base";
    level_name[Level4] = "Shift Alt";
};

};

Lock significa Caps Lock , certo? Ok, tudo bem. Mas o que há com este negócio da LevelThree? Do texto eu pensei que talvez seja a tecla Alt, mas isso não parece funcionar, ou seja, usando um desses supostos layouts ( il ), eu não recebo caracteres Level3 ou Level4 digitados usando a tecla Alt - e eu tentei todas as combinações - com / sem Shift, Caps Lock ligado / desligado.

O que estou fazendo de errado?

    
por einpoklum 15.10.2017 / 23:00

2 respostas

2

What's with this LevelThree business?

No modelo exposto pela ISO / IEC 9995, que é o padrão internacional (conjunto) que cobre teclados de computador, as chaves podem ter um ou mais níveis . O que você pode pensar como "teclas modificadoras" selecionam entre os níveis disponíveis, às vezes de maneira complexa.

(Pense na operação de uma máquina de escrever mecânica, onde a tecla Shift realmente moveu parte do mecanismo para um nível diferente, e onde a chave de deslocamento muitas vezes destravou mecanicamente uma "trava de deslocamento". Em seguida, misture idéias de outros tipos de bloqueios, como aqueles que se aplicam apenas a subconjuntos do teclado, como o bloco principal ou o bloco da calculadora.

Às vezes, os níveis são o que você vê gravados fisicamente nas teclas, às vezes (especialmente no caso de gravuras e chaves alfabéticas dos EUA e da Europa), um ou mais dos níveis estão implícitos, mas não explicitamente gravados.

O nível 1 não é alterado; o nível 2 é o resultado de um modificador ⇧ Shift , uma trava de deslocamento, um ⇫ Shift Lock , um Num Lock ou um ⇬ Caps Lock ; e o nível 3 é o resultado de um "modificador de nível três" de algum tipo.

Como você pode ver neste arquivo de configuração, existe uma convenção de "nível 4" (uma extensão para ISO / IEC 9995 apropriada) que é o resultado da aplicação dos turnos de nível 2 e nível 3 ao mesmo tempo.

(Esta convenção pressupõe que esta combinação esteja disponível, em primeiro lugar. Em alguns layouts de teclado, não há nenhuma tecla ⇨ Grupo 2 , e as teclas que de outra forma selecionariam "nível 4" selecione o segundo grupo , que é um layout alternativo completo com seu próprio conjunto de 3 níveis de mudança.Nos topos de tela reais, o grupo 2 é uma segunda coluna de um a três gravados Símbolos à direita Muita complexidade em alguns sistemas resulta da tentativa de fingir que o grupo 2 não existe, enquanto o nível 4 faz.)

Um modificador de nível três geralmente é a tecla ⇮ AltGr , à direita da barra de espaço. Em alguns teclados, a tecla que gera o código HID relevante, passando o fio do teclado para a unidade principal, é rotulada ⌥ Opção e sua posição física (ainda à direita) é ligeiramente diferente. Software vê-lo como a mesma chave, independentemente da gravura e posição física. Não, a propósito, confundi-lo com a chave similar que é para a esquerda da barra de espaço. Essa é uma chave diferente.

Nem todos os layouts de teclado de software fazem dessa chave um modificador de nível. Quais teclas são chaves modificadoras é (com uma exceção) inteiramente determinadas pelo layout do teclado do software. Em alguns layouts de teclado de software, a chave nessa posição é tratada como outro ⎇ Alt . Se este for o caso, não é possível digitar um deslocamento de nível 3, ausente usando outro layout de teclado ou corrigindo o layout de teclado atual para que alguma chave ou combinação de teclas produza um deslocamento de nível 3.

Em um layout do SI 1452, ⇮ AltGr é de fato o deslocamento do nível 3, e com ele você deve ser capaz de digitar todo o Niqqud. Eu suspeito que você tenha combinado ⎇ Alt e ⇮ AltGr .

Leitura adicional

por 16.10.2017 / 17:52
2

O modificador LevelThree é essencialmente outro Shift . É usado em determinados layouts de teclado. Por exemplo, quando estou digitando com um layout de teclado suíço , posso usar a tecla AltGr para obter acesso a alguns símbolos. AltGr+2 produz @ , por exemplo. É usado principalmente porque os teclados suíços precisam de alemão (ä, ö, ü etc.), assim como os símbolos franceses (é, è, ê etc.), portanto, há simplesmente mais caracteres para digitar.

Se não estiver mapeado no layout do teclado, você poderá mapeá-lo criando um novo tipo de chave, veja esta resposta que aborda como fazê-lo: como vincular AltGr a < Ctrl > + < Alt >

Explicação rápida sobre o motivo de os tipos de chave FOUR_LEVEL_SEMIALPHABETIC : ALPHABETIC usarem Shift e CapsLock modificadores. Shift e CapsLock são não idênticos em ALPHABETIC types (em oposição a TWO_LEVEL types). Por exemplo. em um layout suíço, Shift+a produz A e CapsLock e a produz A , por isso é uma chave usando TWO_LEVEL . No entanto, ä , que é sua própria chave em um teclado suíço, se transforma em à quando usado com Shift , mas no capital Ä quando usado com CapsLock .

FOUR_LEVEL significa que ele usa ainda mais níveis. Shift + LevelThree ativa o quarto nível, como você pode ver na sua definição de tipo. Eu não tenho certeza porque é chamado de SEMI ALPHABETIC, mas provavelmente tem algo a ver com exatamente como os diferentes modificadores podem sair. A documentação aqui diz que FOUR_LEVEL_ALPHABETIC types devem usar Lock+Shift+LevelThree para um símbolo de terceiro nível, mas no seu exemplo ele produz um quarto nível. No final, a nomenclatura é bastante arbitrária de qualquer maneira.

    
por 16.10.2017 / 02:05