como fazer o xmonad usar duas teclas mod

7

Eu acho muitos exemplos de como definir a chave mod no xmonad, mas como adicionar uma segunda chave mod?

    
por Arthur Ulfeldt 11.11.2009 / 03:26

4 respostas

6

Você pode usar o xmodmap para adicionar uma segunda chave a Mod1, para que pressionar ou funcione com modMask = mod1Mask.

    
por 13.11.2009 / 12:36
4

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.

    
por 19.01.2011 / 12:09
2

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.

    
por 30.09.2010 / 02:40
0

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"
         }
    
por 11.11.2009 / 16:13

Tags