如何在 Linux 中禁用鼠标滚轮事件

How to disable mousewheel events in Linux

我想在某些情况下禁用组合框的 MouseWheel 事件,所以我使用下面的示例代码:

ttk::combobox .cb -values {a b c} 
bind .cb <MouseWheel> break
pack .cb

该代码在 Windows 下可以正常工作,但在 Linux 下不起作用,tcl/tk 版本相同,如何修改它并在 [=18= 下正常工作]?

在 X11 上,鼠标滚轮被映射到(伪)按钮事件 <ButtonPress-4><ButtonPress-5> 而不是 <MouseWheel>,因为在 X11 中实际上没有这样的事件(不像 Windows 或 OSX).

if {[tk windowingsystem] eq "x11"} {
    bind .cb <4> break
    bind .cb <5> break
} else {
    bind .cb <MouseWheel> break
}