Wie man xmonad dazu bringt, zwei Mod-Tasten zu benutzen

3639
Arthur Ulfeldt

Ich finde viele Beispiele, wie man die Mod-Taste in xmonad einstellt, aber wie füge ich eine zweite Mod-Taste hinzu?

7
http://www.haskell.org/haskellwiki/Xmonad/Config_archive/Robert_Massaioli%27s_xmonad.hs NPxComplete vor 12 Jahren 0

4 Antworten auf die Frage

6

Sie können xmodmap verwenden, um z. B. Mod1 einen zweiten Schlüssel hinzuzufügen, so dass das Drücken von beides mit modMask = mod1Mask funktionieren würde.

4
Robert Massaioli

Sie können einfach oder die Schlüssel zusammen ... beobachten:

$ 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 

So wie Sie sehen können, ODER zwei Tastenmasken zusammen, um das gewünschte Ergebnis zu erhalten. Das ist alles, was Sie brauchen, also verwenden Sie es wie die letzte Zeile dort.

myAwesomeModMask = mod1Mask .|. mod3Mask -- or whatever you want it to be 

Und das ist alles, was es gibt.

Edit: Ah, Sie möchten, dass zwei verschiedene Tasten unabhängig voneinander als Mod-Taste fungieren. Das ist momentan unmöglich, denke ich, da der Code aktuell steht. Lösung: Überprüfen Sie die Quelle, bearbeiten Sie sie selbst und installieren Sie sie anschließend erneut. es wäre eine kleine Änderung.

2
Silfheed

Um die Antwort von Daniel Schoepe zu erweitern, mache ich dies in xmonad mit der Supertaste (der Windows-Taste), aber ich setze nichts in xmonad.hs (außer modMask = mod4Mask). Mit xmodmap habe ich das linke Steuerelement als zweiten Superschlüssel mit folgendem in meiner .Xmodmap-Datei festgelegt:

remove Control = Control_L keysym Control_L = Super_L add Control = Control_L 

Sie können xmodmap auch verwenden, um die Feststelltaste und die Steuerung zu vertauschen, die rechte Steuerung ebenfalls als super zu definieren, usw. Beachten Sie jedoch, dass die Änderungen nur in X und nicht in virtuellen Terminals funktionieren.

0
Avis

Sie können Mod-Keys an andere Mod1 binden, indem Sie Ihren xmonad.hs-modMask-Wert bearbeiten.

Ein Beispiel, das an den Schlüssel mod4 (oft 'Win') bindet:

import XMonad  main = xmonad defaultConfig { modMask = mod4Mask, terminal = "urxvt" } 
Dies bindet modMask nur an den Gewinnschlüssel. Ich versuche, es an zwei Tasten zu binden, so dass das Drücken einer der beiden funktioniert Arthur Ulfeldt vor 15 Jahren 0
Sorry, aber ich weiß auch nicht, wie ich das machen soll Avis vor 15 Jahren 0