on master help sign in
adding support for Home, End and Begin. Thanks Mikolaj Konarski

Ignore-this: 3822563b5eabd2d4ce90cbc718117049 darcs-hash:20100711224618-f0a0d-23e37776eef201f6d5762ee6e7eb1b1645829655.gz

commit93b8f8e64c0c027b817dfa96959f02976390fc53 authorcoreyoconnor <coreyoconnor@gmail.com> dateSun 11 Jul 2010, 15:46 (16 years ago) parent0caf032
1 file changed+13−3
src/Graphics/Vty/LLInput.hs+13−3
src/Graphics/Vty/LLInput.hs+13−3
@@ -36,7 +36,7 @@ import System.Posix.IO ( stdInput
3636
3737-- |Representations of non-modifier keys.
3838data Key = KEsc | KFun Int | KBackTab | KPrtScr | KPause | KASCII Char | KBS | KIns
39− | KHome | KPageUp | KDel | KEnd | KPageDown | KNP5 | KUp | KMenu
39+ | KHome | KPageUp | KDel | KEnd | KPageDown | KBegin | KNP5 | KUp | KMenu
4040 | KLeft | KDown | KRight | KEnter
4141 deriving (Eq,Show,Ord)
4242
@@ -155,7 +155,16 @@ initTermInput escDelay terminal = do
155155
156156 ansi_classify_table :: [[([Char], (Key, [Modifier]))]]
157157 ansi_classify_table =
158− [ let k c s = ("\ESC["++c,(s,[])) in [ k "G" KNP5, k "P" KPause, k "A" KUp, k "B" KDown, k "C" KRight, k "D" KLeft ],
158+ [ let k c s = ("\ESC["++c,(s,[])) in [ k "G" KNP5
159+ , k "P" KPause
160+ , k "A" KUp
161+ , k "B" KDown
162+ , k "C" KRight
163+ , k "D" KLeft
164+ , k "H" KHome
165+ , k "F" KEnd
166+ , k "E" KBegin
167+ ],
159168
160169 -- Support for arrows
161170 [("\ESC[" ++ charCnt ++ show mc++c,(s,m))
@@ -165,7 +174,8 @@ initTermInput escDelay terminal = do
165174 (c,s) <- [("A", KUp), ("B", KDown), ("C", KRight), ("D", KLeft)] -- directions and their codes
166175 ],
167176
168− let k n s = ("\ESC["++show n++"~",(s,[])) in zipWith k [2::Int,3,5,6] [KIns,KDel,KPageUp,KPageDown],
177+ let k n s = ("\ESC["++show n++"~",(s,[])) in zipWith k [2::Int,3,5,6,1,4]
178+ [KIns,KDel,KPageUp,KPageDown,KHome,KEnd],
169179
170180 -- Support for simple characters.
171181 [ (x:[],(KASCII x,[])) | x <- map toEnum [0..255] ],