-- This is how the relevant keyboard sections would look like when using QWERTY. -- ... , ((m1, xK_v), submap $ M.fromList [ ((m1, xK_v), sendMessage $ JumpToLayout $ defaultLayout host) , ((m2, xK_v), (broadcastMessage $ JumpToLayout $ defaultLayout host) >> refresh) , ((m1, xK_a), sendMessage $ JumpToLayout "Accordion") , ((m1, xK_s), sendMessage $ JumpToLayout "R_Tall") , ((m1, xK_d), sendMessage $ JumpToLayout "Wide") , ((m1, xK_f), sendMessage $ JumpToLayout "Tall") , ((m1, xK_e), sendMessage $ JumpToLayout "Float") , ((m1, xK_g), sendMessage $ JumpToLayout $ gimpLayout host) -- ... , ((m1, xK_j), windows W.focusDown) , ((m1, xK_k), windows W.focusUp) , ((m1, xK_h), swapOrRaise) , ((m2, xK_h), swapOrLower) , ((m2, xK_n), killAndReturn q_tmpWins) -- ... , ((m1, xK_y), doWithWS W.greedyView Prev EmptyWS) , ((m2, xK_y), doWithWS shiftView Prev EmptyWS) , ((m3, xK_y), doWithWS swapWithCurrent Prev EmptyWS) , ((m1, xK_u), doWithWS W.greedyView Prev NonEmptyWS) , ((m2, xK_u), doWithWS shiftView Prev NonEmptyWS) , ((m3, xK_u), doWithWS swapWithCurrent Prev NonEmptyWS) , ((m1, xK_i), doWithWS W.greedyView Next NonEmptyWS) , ((m2, xK_i), doWithWS shiftView Next NonEmptyWS) , ((m3, xK_i), doWithWS swapWithCurrent Next NonEmptyWS) , ((m1, xK_o), doWithWS W.greedyView Next EmptyWS) , ((m2, xK_o), doWithWS shiftView Next EmptyWS) , ((m3, xK_o), doWithWS swapWithCurrent Next EmptyWS) , ((m1, xK_l), doWithWS shiftView Next EmptyWS) , ((m1, xK_0), toggleWS) -- ...