Ao tentar usar gerenciadores de janelas semelhantes (xwem, ratpoison) pela primeira vez, eu também tentei seguir as instruções de configuração que envolvem xmodmap
para obter uma chave modifiier para o gerenciador de janelas, mas então eu senti que usando xmodmap
no meu sistema causa alguma confusão, porque no meu sistema (uma distro ALTLinux) sempre foi dada atenção à configuração de teclado multilíngue via XKB, ao invés de via xmodmap
.
Então, eu encontrei uma opção XKB para rotular a chave que eu queria como "Hyper", e então usei o modificador "Hyper" na configuração para xwem ou ratpoison.
No meu caso, a opção para setxkbmap
é:
-option altwin:hyper_win
e aqui está o comentário que salvei na ocasião de adicioná-lo à minha configuração:
xemacs-xwem uses Hyper, so I found this predefined XKB map (in xkb/symbols/altwin), which uses the WIN keys.
Perhaps later I'll make up another XKB map for me, say, using the right Control as Hyper (that will force my hand to use the right Control--now my hand just ignores it).
I thought it's a more clean way to get myself a Hyper key through XKB rather than through xmodmap (as described in XWEM docs), because:
xmodmap configuration of modifier keys seems not to be nice w.r.t. the way it forces one to present one's intentions: one must say something about arbitrarily numbered modifier bits, but I don't want to think about these technical things: I need merely a "Hyper" modifier, not some obscure manipulations with the internals! In xmodmap, I'd need to give 2 or even 3 obscure statements to achieve the result, although logically this is a single wish and operation. (One xmodmap statement would not be enough, cf. XEmacs' warnings (FIXME: insert!) if you map Control_R to a modN; there are some technical constraints.)
one is told stories that XKB and xmodmap don't play well together, so that not all X programs will work nicely and coherently if you mix them (I must give a link here, FIXME).
Aqui está a definição relevante de /usr/share/X11/xkb/symbols/altwin
, se alguém estiver interessado:
partial modifier_keys
xkb_symbols "hyper_win" {
key <LWIN> { [ Hyper_L ] };
key <RWIN> { [ Hyper_R ] };
modifier_map Mod4 { Hyper_L, Hyper_R };
};