Xmonad 使用 pasteString 粘贴特殊字符 \x00f6?
Xmonad paste special character \x00f6 with pasteString?
当使用 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
.
更新 1:
我找到 haskell 的 this 备忘单,所以我尝试了字符串 \xC\&4
,结果是 ,4
。仅使用 \&4
时,结果为 4
,使用 \x2C
时,结果为 ,
.
更新 2:
似乎 XMonad.Util.Paste 根本不适用于变音符号,如前所述,函数 pasteSelection 有效。 But when selecting an ö
character it doesn't.所以我想我需要使用 xdotool
或类似的东西。
非常感谢您的帮助,感谢您查看此问题!
pasteString
将 pasteChar
映射到字符串中的每个字符; pasteChar
,反过来,遇到非 ASCII 字符的问题,这在 the source code:
的注释中说明
Note that this function makes use of 'stringToKeysym', and so will probably have trouble with any 'Char' outside ASCII.
鉴于此,我建议设置一个 X Compose 键,您可以在其中键入“ö”并使用 Compose o ".
当使用 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
.
更新 1:
我找到 haskell 的 this 备忘单,所以我尝试了字符串 \xC\&4
,结果是 ,4
。仅使用 \&4
时,结果为 4
,使用 \x2C
时,结果为 ,
.
更新 2:
似乎 XMonad.Util.Paste 根本不适用于变音符号,如前所述,函数 pasteSelection 有效。 But when selecting an ö
character it doesn't.所以我想我需要使用 xdotool
或类似的东西。
非常感谢您的帮助,感谢您查看此问题!
pasteString
将 pasteChar
映射到字符串中的每个字符; pasteChar
,反过来,遇到非 ASCII 字符的问题,这在 the source code:
Note that this function makes use of 'stringToKeysym', and so will probably have trouble with any 'Char' outside ASCII.
鉴于此,我建议设置一个 X Compose 键,您可以在其中键入“ö”并使用 Compose o ".