Você pode usar o xmodmap para adicionar uma segunda chave a Mod1, para que pressionar ou funcione com modMask = mod1Mask.
Eu acho muitos exemplos de como definir a chave mod no xmonad, mas como adicionar uma segunda chave mod?
Você pode usar o xmodmap para adicionar uma segunda chave a Mod1, para que pressionar ou funcione com modMask = mod1Mask.
Você pode apenas ou as teclas juntas ... assistir:
$ ghci
> :m + XMonad
> :t (.|.)
(.|.) :: (Data.Bits.Bits a) => a -> a -> a
> :t mod1Mask
mod1Mask :: KeyMask
> :t mod2Mask
mod2Mask :: KeyMask
> :t mod1Mask .|. mod2Mask
mod1Mask .|. mod2Mask :: KeyMask
Então, como você pode vê-lo ou duas máscaras chave juntos para obter o resultado desejado. Isso é tudo que você precisa para usá-lo como a última linha.
myAwesomeModMask = mod1Mask .|. mod3Mask
-- or whatever you want it to be
E isso é tudo o que existe para isso.
Edit: Ah, espere, você quer que duas chaves diferentes atuem independentemente como a tecla Mod. Isso é atualmente impossível, acho que o código está atualmente. Solução: confira a fonte e edite-a e, em seguida, cabala-la novamente; seria uma pequena mudança.
Apenas para expandir a resposta de Daniel Schoepe, faço isso no xmonad usando a superchave (a chave do windows), mas não configuro nada no xmonad.hs (além de configurar o modMask = mod4Mask). Usando o xmodmap eu configurei o controle da esquerda como uma segunda super-chave com o seguinte no meu. Arquivo Xmodmap:
remove Control = Control_L
keysym Control_L = Super_L
add Control = Control_L
Você também pode usar o xmodmap para trocar o capslock e o controle, configurar o controle direito para ser super também, etc., mas lembre-se de que as mudanças só funcionarão no X, não em terminais virtuais.
Você pode vincular outras mod mod1 editando seu valor xMonmod.hs modMask.
Um exemplo, ligando a tecla mod4 (geralmente 'Win'):
import XMonad
main = xmonad defaultConfig
{ modMask = mod4Mask
, terminal = "urxvt"
}
Tags xmonad