-- 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)
-- ...