我已经遇到这个问题很多年了,这很烦人:)
如果我使用“两指”触控板手势向下滚动,滚动本身会立即生效。但如果我在页面顶部,并且(偶尔)向上滚动,然后(在完成滚动并释放触控板后的 2-3 秒内)按下 ,Ctrl
系统会将这两个事件(滚动和 ctrl)解释为单个Scroll+Ctrl
事件,并开始疯狂缩放所有内容,即使这些事件没有重叠(甚至它们之间有 2-3 秒的间隔)。
典型场景:我滚动页面,点击页面顶部,稍等片刻(1-3 秒),然后按 Ctr-Tab,同时切换选项卡,我的两个选项卡内容也疯狂缩放(在 Chrome 中通常约为 700%)。这有点烦人,因为你必须 1) 等到 Chrome 以新比例重新渲染它 2) 按Ctrl-0
3) 等到 Chrome 以默认比例再次重新渲染它 :)
一个有趣的细节是,如果滚动事件成功“作为滚动发送”,我在任何应用程序中都不会观察到这种行为:如果我尚未到达页面顶部,然后向上滚动并Ctrl
立即按下 - 不会发生缩放(好像 - 只要它不是页面顶部 - 这个“滚动”就被目标应用程序成功“吃掉”=“发送”并从事件队列中删除)。
系统和 UI 本身运行非常流畅,因此绝对不是事件处理延迟。
这个人在这里描述了类似的经历:按下 Meta 键后鼠标滚轮滚动事件仍然存在
或者可能对 Unity 进行一些调整,完全禁用缩放滚动行为?(像这样:如何在 Lubuntu 或 openbox 中禁用 ctrl + 滚动缩放)
Ubuntu 14.04.4
宏碁 Aspire V5-171
显卡:Intel HD 4000(开箱即用驱动程序)