mmx384 发表于 2006-6-11 20:10:21

请教:FVWM用鼠标滚轮模拟键盘方向键[解决]

最近大量时间用AcroRead5阅读PDF,苦于acroread5不支持鼠标滚轮,而7过于庞大,xpdf中文支持不好设置,想来想去,还是用滚轮模拟上下方向键实现滚屏。

本想这样:
Mouse 4 w A test ( AcroRead ) "按下up键"
Mouse 5 w A test ( AcroRead ) "按下down键"

哪位大侠有办法实现这个功能?

mmx384 发表于 2006-6-12 12:55:57

硬着头皮看man page,发现一个FakeKeypress命令可能实现这个功能:

1.先建两个函数:(大意是如果窗口是AcroRead,则按下Up或Down)

DestroyFunc KeyPressUp
AddToFunc KeyPressUp
+        I        All( "AcroRead" ) FakeKeypress\
                                press Up

DestroyFunc KeyPressDown
AddToFunc KeyPressDown
+        I        All( "AcroRead" ) FakeKeypress\
                                press Down

2.把这两个函数bind到鼠标的滚轮
Mouse         4         W         A         Function KeypressUp
Mouse         5         W         A         Function KeypressDown

3.这样bang定有一个问题,当在其它窗口用滚轮时,AcroRead也跟着滚动,如果把函数改成:

DestroyFunc KeyPressUp
AddToFunc KeyPressUp
+        I        Current( "AcroRead" ) FakeKeypress\
                                press Up

问题更大,只能在AcroRead中使用滚轮,其它窗口一律无效。

各位大侠有什么办法解决这个问题吗?

mmx384 发表于 2006-6-12 13:28:14

DestroyFunc KeyPressUp
AddToFunc KeyPressUp
+        I         All ( !"AcroRead" ) Mouse 4 W A FakeKeypress \
                                press Up

DestroyFunc KeyPressDown
AddToFunc KeyPressDown
+        I         All ( !"AcroRead" ) Mouse 5 W A FakeKeypress \
                                press Down
将两个函数改成上面这样就非常完美了,OK

npcomet 发表于 2006-6-12 17:23:53

向一切自力更生的人致敬

mmx384 发表于 2006-6-18 20:59:33

最终解决办法(无副作用):

Mouse         4         W         A         Current ("AcroRead") FakeKeypress \
                                press Up \
                                press Up
Mouse         5         W         A         Current ("AcroRead") FakeKeypress \
                                press Down \
                                press Down

(按两次up或down可以滚动两行)
页: [1]
查看完整版本: 请教:FVWM用鼠标滚轮模拟键盘方向键[解决]