0

人間工学に基づいたキーボード レイアウト、つまり Bepo ( http://bepo.fr/wiki/Accueil )に切り替えるまで、私は長い間 XMonad を使用していました。

それまでは、キーボードに XMonad.Config.Azerty モジュールを使用していました。しかし、レイアウトが変更されてから、キーボード ショートカットが機能しなくなりました。
より正確には、ワークスペースを切り替えます (ホーム + 1 = ワークスペース 1、ホーム + 2 = ワークスペース 2 など)。
その後、デフォルトの設定に戻しましたが、改善されませんでした。

明らかに、defaultAzerty 関数はもう必要ありません。
ホーム+1..9コンビナゾンを再マップして機能させるために何をすべきか誰かが知っていますか?

編集:更新された設定

ここに私の設定があります:

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE Arrows #-}

import XMonad
import Graphics.X11.ExtraTypes.XF86
import qualified Data.Map as M
import qualified XMonad.StackSet as W
import XMonad.Hooks.DynamicLog
--
import XMonad.Layout.NoBorders
--
import Data.Ratio
import XMonad.Layout.PerWorkspace
import XMonad.Layout.Spacing
import XMonad.Layout.Grid
import XMonad.Layout.IM

main :: IO ()
main = xmonad =<< xmobar myConf

-- |Main configuration, override the defaults to your liking.
myConf = defaultConfig
   { modMask = mod4Mask
   , terminal = "urxvt"
   , layoutHook = smartBorders $ myLayout
   , workspaces = myWorkspaces
   , keys = myKeys }

-- | Keyboard keys
homeMask :: KeyMask
homeMask =  133 -- from the xev data

keysToAdd x =
    [ ((mod4Mask, xK_F4 ), kill)
    , ((0, xF86XK_Calculator ), spawn "mate-calculator")
    , ((0, xF86XK_WWW ), spawn "firefox")
    , ((0, xF86XK_HomePage ), spawn "caja")
    , ((0, xK_Print ), spawn "mate-screenshot")
    , ((mod4Mask, xK_z ), spawn "emacs") ]
    ++
    [((m .|. homeMask, k), windows $ f i) 
       | (i, k) <- zip (XMonad.workspaces defaultConfig) [10 .. 19]
       , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)] ]

keysToDel x = [((mod4Mask .|. shiftMask), xK_c)] -- to delete the unused keys

myKeys x = foldr M.delete (keysToAdd' x) (keysToDel x)
  where
    -- to include new keys to existing keys
    keysToAdd' x = M.union (keys defaultConfig x) (M.fromList (keysToAdd x))

-- |Workspaces listing
myWorkspaces = ["1:main", "2:edit", "3:web", "4:browse", "5:irc", "6:pidgin"]

-- |Default layout
myLayout = pidgin $ Mirror tiled ||| tiled ||| Full
    where
        -- pidgin conf
        pidgin = onWorkspace "6:pidgin" pidginLayout
        pidginLayout = withIM (18/100) (Role "buddy_list") gridLayout
        gridLayout = spacing 8 $ Grid

        -- default tiling algorithm partitions the screen into two panes
        tiled = spacing 2 $ Tall nmaster delta ratio
        -- The default number of windows in the master pane
        nmaster = 1
        -- Default proportion of screen occupied by master pane
        ratio = 2/3
        -- Percent of screen to increment by when resizing panes
        delta = 5/100

また、その投稿を見ましたが、それが私が望むものかどうかわかりません:プログラマー dvorak キーボード レイアウト (シフトされた数字) を使用して xmonad でワークスペースを切り替える

Haskell 言語には問題はありませんが、XMonad API はそれほど大きなものです。

EDIT2:ここに書かれていることに従ってhttp://blacketernal.wordpress.com/set-up-key-mappings-with-xmodmap/、私のホームキーはすでに修飾子です

最後の行のダンプは次のとおりです。

xmodmap: 修飾子ごとに最大 4 つのキー (括弧内のキーコード):

shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x25), Control_R (0x69) mod1
Alt_L (0x40), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3
mod4 Super_L (0x85), Super_R (0x86) )、Super_L (0xce)、Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c)、Mode_switch (0xcb)

4

1 に答える 1