как заставить xmonad использовать две клавиши мод

3279
Arthur Ulfeldt

Я нашел много примеров того, как установить ключ мода в xmonad, но как мне добавить второй ключ мода?

7
http://www.haskell.org/haskellwiki/Xmonad/Config_archive/Robert_Massaioli%27s_xmonad.hs NPxComplete 12 лет назад 0

4 ответа на вопрос

6

Вы можете использовать xmodmap, чтобы добавить вторую клавишу, например, в Mod1, чтобы нажатие любого из них работало с modMask = mod1Mask.

4
Robert Massaioli

Вы можете просто или ключи вместе ... смотреть:

$ 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 

Так что вы можете видеть вас ИЛИ две ключевые маски вместе, чтобы получить желаемый результат. Это все, что нужно, так что вы просто используете его как последнюю строку там.

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

И это все, что нужно сделать.

Редактировать: Ах, подождите, вы хотите, чтобы две разные клавиши независимо действовали в качестве клавиши Mod. Это в настоящее время невозможно, я думаю, поскольку код в настоящее время стоит. Решение: проверьте исходный код и отредактируйте его самостоятельно, а затем Cabal установите его снова; это было бы небольшое изменение.

2
Silfheed

Просто чтобы расширить ответ Даниэля Шоупа, я делаю это в xmonad, используя супер ключ (ключ windows), но я не устанавливаю anyting в xmonad.hs (кроме установки modMask = mod4Mask). Используя xmodmap, я установил левый элемент управления в качестве второго суперключа со следующим в моем файле .Xmodmap:

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

Вы также можете использовать xmodmap для смены заглавных букв и контроля, установки правильного управления на супер, и т.д., но помните, что изменения будут работать только в X, а не в виртуальных терминалах.

0
Avis

Вы можете связать ключи мода с другим mod1, отредактировав значение xMadad.hs modMask.

Пример, привязка к ключу mod4 (часто «Win»):

import XMonad  main = xmonad defaultConfig { modMask = mod4Mask, terminal = "urxvt" } 
Это связывает ModMask только с ключом победы. Я ищу, чтобы связать его с двумя клавишами, поэтому нажатие любой из них работает Arthur Ulfeldt 15 лет назад 0
Извините но я тоже не знаю как это сделать Avis 15 лет назад 0