Stu*_*ton 3 haskell keyboard-events
在Haskell中编写程序,我正在努力处理ctrl-s和ctrl-l形式的按键操作
我使用以下代码:
main :: IO ()
main = do
hSetBuffering stdin NoBuffering
x <- getChar
putStrLn ("You pressed: " ++ [x])
Run Code Online (Sandbox Code Playgroud)
如何识别按下的Ctrl按钮?
getChar让您可以访问角色,而不是按键.您获得的角色取决于您的用户的操作系统,键盘布局和输入法的选择.按键Ctrl-S或Ctrl-L不会生成"标准"字符(当然,某些系统会为这些控制字符提供标准ASCII代码,其他系统则不会).
如果你想要正确的按键处理,你需要一个真正的输入库 - 例如,SDL或WxWidgets或GTK; 每个都不仅仅是一个输入库,但他们确实有按键抽象.
| 归档时间: |
|
| 查看次数: |
888 次 |
| 最近记录: |