【问题标题】:Is keeping the key pressed equal to pressing the key many times quickly保持按键等于快速按键多次
【发布时间】:2015-01-27 14:41:32
【问题描述】:

我不确定这里是否适合提出这个问题。这不是一个特定于应用程序的问题,也不是任何具体问题。不过,为了更具体地应用,我将以 Photoshop 为例。

减小画笔大小的快捷方式是[。当我按住它时,刷子的大小会随着一些惯性而迅速减小。我想知道这是如何实现的。它是多次发送 keypress 事件,还是将 keypress 事件与按键持续时间一起发送,应用程序根据持续时间响应?

我想这也取决于操作系统?我想更具体地了解 OSX。

【问题讨论】:

    标签: operating-system keyboard-shortcuts keypress systemevent


    【解决方案1】:

    我不知道 OS X 上的行为是什么,但这篇文章展示了一些您可以自己找出问题的方法(无需阅读 developer manuals):


    在 Windows 和 .NET 以及作为开发平台的“Windows 窗体”上,行为将是

    MSDN: System.Windows.Forms → KeyPressEventArgs Class

    ...当用户按下某个键时会发生KeyPress 事件。与KeyPress 事件密切相关的两个事件是KeyUpKeyDown。当用户按下一个键时,KeyDown 事件在每个 KeyPress 事件之前,当用户释放一个键时,会发生一个 KeyUp 事件。当用户按住一个键时,重复的KeyDownKeyPress 事件会在每次字符重复时发生。发布时会生成一个KeyUp 事件...

    另见:


    应用程序代码通常处理所有三个事件,而KeyPress 实际上是根据向下/向上信号计算得出的。因为它模仿了从硬件接收到的信号(有关更多详细信息,请参阅http://wiki.osdev.org/Keyboard),这与操作系统无关,我希望操作系统 API 在概念上非常相似

    【讨论】:

      猜你喜欢
      • 2015-04-19
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 2012-01-28
      • 2020-06-20
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      相关资源
      最近更新 更多