Configuração Shift + barra de espaços + SomeLetter como alternativa para teclas de seta

2

Existe alguma maneira de personalizar o seu teclado para definir Shift + Barra de espaço + SomeLetter como uma alternativa para teclas de seta? Ao editar o texto, eu uso um mouse ou as teclas de seta para levar o cursor para um determinado local dentro de alguma linha. Ambos os métodos são muito restritivos, pois me fazem perder o foco e me atrasar.

Se eu estiver correto, usando Shift + barra de espaço não tem alocação específica e apenas imprime o típico space . Combinações de Ctrl , Shift e Alt são freqüentemente atribuídas a algumas outras tarefas. Por isso, é bom poder definir tal atalho globalmente. É possível (e você recomenda) fazer isso? Eu uso o Ubuntu 18.04 e sei como definir comandos globais para aplicativos / programas, mas não sei como realizar esse trabalho (se possível).

É assim que eu posso adicionar atalhos no Ubuntu.

    
por Opt 14.09.2018 / 03:48

1 resposta

2

Em vez de Shift + Barra de espaço , usei Alt Gr .

Baseado na resposta aceita para essa questão , criei um layout de teclado baseado no inglês (UK). Se o seu teclado não for inglês, você pode ter que alterar os códigos de chave no arquivo. Este layout de teclado mapeia as teclas de seta para

  • alt gr + s = esquerda
  • alt gr + d = inativo
  • alt gr + f = direito
  • alt gr + e = acima
  • alt gr + t = página anterior
  • alt gr + v = próxima página
  • alt gr + a = home
  • alt gr + g = fim
  • alt gr + z = retrocesso
  • alt gr + w = eliminar
  • alt gr + q = escape
  • alt gr + r = inserir

Também mapeia números para a mão direita:

  • alt gr + n = 0
  • alt gr + m = 1
  • alt gr + , = 2
  • alt gr + . = 3
  • alt gr + j = 4
  • alt gr + k = 5
  • alt gr + l = 6
  • alt gr + u = 7
  • alt gr + i = 8
  • alt gr + o = 9

Copie o seguinte texto em um novo arquivo para /usr/share/X11/xkb/symbols/aa

// based on a keyboard map from an 'xkb/symbols/gb' file

default  partial alphanumeric_keys
xkb_symbols "mylayout" {

// Describes the differences between a very simple en_US
// keyboard and a very simple U.K. keyboard layout defined by
// MyLayout

include "latin"

name[Group1]="MyLayout (UK)";

key <AE02>  { [         2,   quotedbl,  twosuperior,    oneeighth ] };
key <AE03>  { [         3,   sterling, threesuperior,    sterling ] };
key <AE04>  { [         4,     dollar,     EuroSign,   onequarter ] };

key <AC11>  { [apostrophe,         at, dead_circumflex, dead_caron] };
key <TLDE>  { [     grave,    notsign,          bar,          bar ] };

key <BKSL>  { [numbersign, asciitilde,   dead_grave,   dead_breve ] };
key <LSGT>  { [ backslash,        bar,          bar,    brokenbar ] };

key <AD01> {    [     q,    Q,    Escape,       Adiaeresis ]    };
key <AD02> {    [     w,    W,    Delete,            Aring ]    };
key <AD03> {    [     e,    E,    Up,           Eacute ]    };
key <AD04> {    [     r,    R,    Prior,       registered ] };
key <AD05> {    [     t,    T,    Prior,            THORN ] };
key <AD06> {    [     y,    Y       ]   };
key <AD07> {    [     u,    U,    7,           Uacute ] };
key <AD08> {    [     i,    I,    8,           Iacute ] };
key <AD09> {    [     o,    O,    9,           Oacute ] };
key <AD10> {    [     p,    P       ]   };
key <AD11> {    [ bracketleft,  braceleft   ]   };
key <AD12> {    [ bracketright, braceright  ]   };

key <AC01> {    [     a,    A,    Home,           Aacute ]  };
key <AC02> {    [     s,    S,    Left,          section ]  };
key <AC03> {    [     d,    D,    Down,              ETH ]  };
key <AC04> {    [     f,    F,    Right,                F ] };
key <AC05> {    [     g,    G,    End,                G ]   };
key <AC06> {    [     h,    H       ]   };
key <AC07> {    [     j,    J,    4,                J ] };
key <AC08> {    [     k,    K,    5,               OE ] };
key <AC09> {    [     l,    L,    6,         Ooblique ] };
key <AC10> {    [ semicolon,    colon,     ntilde,           Ntilde ]   };
key <AC11> {    [ apostrophe,   at,  dead_acute, dead_diaeresis ]   };

key <AB01> {    [     z,    Z,    BackSpace,               AE ] };
key <AB02> {    [     x,    X,    Insert,                X ]    };
key <AB03> {    [     c,    C       ]   };
key <AB04> {    [     v,    V,    Next,                V ]  };
key <AB05> {    [     b,    B,    Next,                B ]  };
key <AB06> {    [     n,    N,    0,           Ntilde ] };
key <AB07> {    [     m,    M,    1,               mu ] };
key <AB08> {    [     comma,    less, 2,           less ]   };
key <AB09> {    [    period,    greater, 3,     greater ]   };
key <AB10> {    [     slash,    question    ]   };

include "level3(ralt_switch_multikey)"
};

Edite o seguinte arquivo: sudo gedit /usr/share/X11/xkb/rules/evdev.xml

antes de </layoutlist> adicionar este texto

<layout>
  <configItem>
    <name>aa</name>
    <shortDescription>MyLayout (UK)</shortDescription>
    <description>MyLayout (UK)</description>
    <languageList>
      <iso639Id>eng</iso639Id>
    </languageList>
  </configItem>
  <variantList/>

Agora você tem um novo layout de teclado com esse mapeamento. Adicione o layout como a primeira opção em seus métodos de entrada de teclado e você poderá usá-lo no terminal, editores, navegador ... Eu notei que não funciona em alguns programas como o Eclipse. Provavelmente porque tem um atalho definido para eles, mas funciona na maioria dos lugares para mim.

    
por 14.09.2018 / 11:22