使用Xmonad.Util.Paste时,我尝试使用ö
粘贴pasteString
个字符,但不显示任何内容。如何粘贴此字符?
我试图使用:
, ((mod4Mask , xK_o ), pasteString "ö")
但这给了我一个编译错误(我预期):lexical error in string/character literal (UTF-8 decoding error)
所以我查找了相应的转义序列here并尝试了以下行:
, ((mod4Mask , xK_o ), pasteString "\x00f6")
这个编译好了,但是当按下组合键时似乎没有出现(我用常规字符串尝试它并且它工作正常,也像pasteSelection工作一样)。我做错了什么?
旁注:我也试过\x00F6
,但没有任何区别。我也使用ghc version 7.8.4
。
我为haskell找到了this备忘单,所以我尝试了字符\xC\&4
,结果是,4
。仅使用\&4
时会产生4
,而使用\x2C
时会打印,
。
似乎XMonad.Util.Paste根本不能与Umlauts一起工作,正如上面提到的函数pasteSelection一样。但是在选择ö
字符时,它并没有。所以我想我需要使用xdotool
或类似的东西。
非常感谢您的帮助,感谢您查看此问题!
答案 0 :(得分:0)
pasteString
将pasteChar
映射到字符串中的每个字符;反过来,pasteChar
会遇到非ASCII字符问题,the source code的评论中说明了这一点:
请注意,此函数使用'stringToKeysym',因此可能会遇到ASCII之外的任何'Char'。
鉴于此,我建议设置一个X Compose键,您可以使用 Compose o “键入”ö“。