Hi Henk-Jan,
Thanks for the snippet of code you submitted; it did the main part right,
which was identifying whether or not a modifier and a key was pressed.
However, and I'm not sure what the source of this problem is, whenever I
use the constructor (KeyChar c), where c is a character, I don't get a
value of type Key that represents the key at character c. To make this
problem more concrete, I have submitted the following sample application
which can be ran and tested to demonstrate what I mean:
module Main where
import Graphics.UI.WX
import Graphics.UI.WXCore
handleKeyboard :: Frame a -> EventKey -> IO()
handleKeyboard f k =
if controlKeyPressed
then keyTestModifiers f (ks)
else infoDialog f "info" "No ctrl-<key> combo activated"
where
controlKeyPressed = keyModifiers k == Modifiers False False
True False
ks = keyKey k
keyTestModifiers :: Frame a -> Key -> IO()
keyTestModifiers f k
| k == (KeyChar 't') = infoDialog f "info" "Test: Ctrl-t activated"
| k == (KeyReturn) = infoDialog f "info" "Test: Ctrl-Enter
activated"
| otherwise = infoDialog f "info" "Test: Different key
activated"
main :: IO ()
main = start gui
gui :: IO ()
gui = do
f <- frameFixed [text := "test"]
p <- panel f []
set p [on keyboard := handleKeyboard f]
Notice that if you compile and run this application and hit n, where n is
any keyboard value, you get the expected response (A dialog saying "No
Ctrl-key combo activated" pops up). Likewise, if you hit Ctrl-Enter, you
get the expected response ("Test: Ctrl-Enter activated"). However, when
you enter Ctrl-t, even though Ctrl-t should be defined, it returns
"Test: Different Key Activated" instead of "Test: Ctrl-t activated"!
I'm not sure why does it do this, but judging by the code snippet you
presented, this shouldn't be expected behaviour.
Regards,
Tom Ostojich
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
wxhaskell-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wxhaskell-users