Jogando com xmodmap
eu encontrei uma tecla modificadora Eu não tinha ouvido falar de: Mode_switch
. Parece ter algo a ver com a inserção de caracteres especiais.
Eu o atribuí a uma chave, mas parece não ter efeito. Para que serve? É diferente de ISO_Level3_Shift
(Alt Gr) ?
Respostas:
Mode_switch
é o nome antigo (pré-XKB) da tecla que é chamada AltGrem muitos layouts de teclado. É semelhante ao fato de Shiftque, quando você pressiona uma tecla que corresponde a um caractere, obtém um caractere diferente se Shiftou AltGrtambém é pressionado. Ao contrárioShift
,Mod_switch
não é um modificador no sentido X11, porque normalmente se aplica a caracteres, não a teclas de função; portanto, os aplicativos precisam apenas executar uma pesquisa de caracteres para obter o efeito desejado.ISO_Level3_Shift
é a versão XKB dessa chave. De um modo geral, o XKB é muito mais complicado e pode fazer coisas extravagantes. O mecanismo do XKB é mais geral, pois permite que os layouts de teclado variem em quais teclas são influenciadas por quais modificadores, generaliza modificadores pegajosos ( CapsLockestilo) e de imprensa simultânea ( Shiftestilo) e assim por diante.fonte
ISO_Level3_Shift
pode agir 'pegajoso'. Eu estava procurando essa funcionalidade por um longo tempo: unix.stackexchange.com/questions/39014/…AltGr
eMode_switch
as mesmas chaves? Caso contrário, neste link , eles soam como se fossem as mesmas coisas. Você poderia esclarecer isso um pouco?Mode_switch
eISO_Level3_Shift
faça a mesma coisa de maneiras ligeiramente diferentes. Não pretendo entender as diferenças; na maioria das vezes eles não importam, mas eu lembro que misturar xmodmap com nomes XKB ocasionalmente fazia com que modificadores não funcionassem corretamente.us(cz_sk_de)
features or with custom xmodmap mappings for some keys (comma for example) depending on whetherAltGr
isMode_switch
orISO_Level3_Shift
but can't get both features at the same time.CapsLock
estilo. Chaves adesivas são chamadas de “trava” e chaves de bloqueio são chamadas de fechaduras. As teclas adesivas são liberadas depois que o próximo não modificador é pressionado enquanto as teclas de bloqueio estão em vigor até serem pressionadas novamente.Esta resposta não pretende contradizer a resposta do @Gilles, mas sim para descrever outro aspecto do manuseio do xkb Input que considero "sub-iluminado" em sua resposta.
Você pode usar ambos
ISO_Level3_Shift
(Alt-Gr) eMode_switch
ao mesmo tempo com resultados diferentes . Requer alguma configuração, mas você pode ter os dois e usá-los para produzir 6 teclas diferentes por tecla física do teclado!Você pode, por exemplo, configurar Tabpara ser pressionado
Mode_switch
com xcape ⌂ e xmodmap ; por exemplo, a tecla "H" no teclado pode produzir os seguintes caracteres / teclas:h
H
← (Cursor)
← (Symbol)
┘
┐ with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH
Então, voltando à sua pergunta:
IL3S
eMode_switch
pode ser configurado para significar coisas diferentes, para que você possa ter teclas de cursor e ~ 200 caracteres úteis dos idiomas (acentuados), desenho de caixa e conjunto de caracteres técnicos nas 35 teclas de as 3 linhas da letra.Para realizar o acima:
exemplo para H:
fonte
fn: A → B
.ISO_Level5_Shift
. Isso produz 8 níveis, o 7º sendolvl3+lvl5+H
& c.Mode_shift
no Xkb é uma tecla Shift para grupos ou layouts. Se você tiver um layout com vários grupos, mantenha pressionada essa tecla para acessar o próximo grupo. Se você tiver vários layouts, mantenha pressionada essa tecla para alternar entre os layouts († 1).O mesmo
Mode_shift
vale para os grupos o que Shift(ouShift_L
eShift_R
, para usar os nomes das chaves) é em níveis.Isso pode ficar mais claro se considerarmos que
Mode_shift
tem um apelido chamadoISO_Group_Shift
(† 2). Também existem teclas chamadasISO_Group_Latch
eISO_Group_Lock
que correspondem aISO_Level2_Latch
(deslocamento da trava) eShift_Lock
, respectivamente († 3).Há também vários aliases para scripts diferentes:
kana_switch
Arabic_switch
Greek_switch
Hebrew_switch
Hangul_switch
† 1: Isso é baseado no meu entendimento dos “grupos” e “layouts” do Xkb. Parece que eles são tratados da mesma forma que selecionam entre eles com teclas como esta.
† 2: Eu estou baseando esta sobre o arquivo
keysymdef.h
em este repositório Git no ab8666661fc6 revisão ( “Adicionar XF86XK_AudioPreset”, 2017/05/10). Em instalações, você provavelmente encontrará esse arquivo em/usr/include/X11/keysymdef.h
.† 3: Há também uma chave
ISO_Lock
, um tipo de chave de bloqueio de uso geral.O significado da
AltGr
chaveGilles mencionou em sua resposta a conexão com a AltGrchave:
Isso me levou a suspeitar que "AltGr" pode significar "grupo alternativo / alternativo", pois
Mode_switch
é usado para mudar de grupo. No entanto, isso acabou errado. De acordo com a páginaAltGr da Wikipedia sobre a tecla , "AltGr" parece vir dos teclados da IBM e, em seus manuais, diz que é uma abreviação de "gráficos alternativos". Isso faz sentido, pois parece provável que o uso do teclado para desenhar “gráficos” (caracteres de desenho de caixa usados nas interfaces de usuário de texto) ocorreu bem antes de haver um bom suporte para alternar rapidamente entre vários scripts.fonte