我习惯使用键盘上的光标键来导航源代码.这是我15年来所做的事情,这当然意味着我的导航速度受到键盘速度的限制.在Vista和OS X(我双启动MacBook)上,我的密钥重复率一直在上升.但是在Visual Studio和其他应用程序中,速率仍然比我想要的要慢得多.
如何在Visual Studio和其他文本编辑器中更快地提高键重复率?
在Windows中,您可以使用系统调用(SystemParametersInfo(SPI_SETFILTERKEYS,...)
)进行设置.
我为自己写了一个实用工具:keyrate
.
Github存储库.
链接消失的完整源代码:
#include#include #include BOOL parseDword(const char* in, DWORD* out) { char* end; long result = strtol(in, &end, 10); BOOL success = (errno == 0 && end != in); if (success) { *out = result; } return success; } int main(int argc, char* argv[]) { FILTERKEYS keys = { sizeof(FILTERKEYS) }; if (argc == 1) { puts ("No parameters given: disabling."); } else if (argc != 3) { puts ("Usage: keyrate \nCall with no parameters to disable."); return 0; } else if (parseDword(argv[1], &keys.iDelayMSec) && parseDword(argv[2], &keys.iRepeatMSec)) { printf("Setting keyrate: delay: %d, rate: %d\n", (int) keys.iDelayMSec, (int) keys.iRepeatMSec); keys.dwFlags = FKF_FILTERKEYSON|FKF_AVAILABLE; } if (!SystemParametersInfo (SPI_SETFILTERKEYS, 0, (LPVOID) &keys, 0)) { fprintf (stderr, "System call failed.\nUnable to set keyrate."); } return 0; }
很多时候我想把一个功能集中在我的窗口中.滚动是唯一的方法.此外,在有很多非单词字符的代码中,Ctrl-left/right仍然很慢.我也使用键盘.不过,它有几个问题.一,它有时使用默认速度而不是我设置的实际值.另一种有时它会忽略最初的延迟.我仍觉得它非常有用.他们说4年前他们会在6个月内发布消息来源...... :(
好的,根据有人修改HCU\... \键盘响应的建议,这对我很有用.
[HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response] "AutoRepeatDelay"="250" "AutoRepeatRate"="13" "BounceTime"="0" "DelayBeforeAcceptance"="0" "Flags"="59"
Windows标准AutoRepeat延迟.13毫秒(77焦耳/秒)重复率.标志打开FilterKeys?这些值在登录时读取.请记住注销并重新登录以使其生效.
在Mac OS X上,打开"全局首选项"plist
open ~/Library/Preferences/.GlobalPreferences.plist
然后更改KeyRepeat字段.较小的数字将加快您的光标速率.设置对话框仅将其设置为最小值2,因此如果转到0或1,您将获得更快的光标.
我必须重新启动才能生效.
对于Windows,打开regedit.exe并导航到HKEY_CURRENT_USER\Control Panel\Keyboard
.根据自己的喜好更改KeyboardSpeed.
Visual Assist可以选择将Visual Studio中的有效键移动加倍,我一直在使用它.
我在我的电脑上使用KeyboardKing.它是免费软件,它可以将重复率提高到200,这已经足够了.我建议将进程优先级设置为"高",以便进行更平滑的移动,减少"重复锁定",这种情况有时会发生并且非常烦人.优先级高,效果很好.
没有人理解我们为什么用箭头导航.这很有趣.
正如hyperlogic所提到的,在Mac OS X上,内部有两个参数来处理键盘速度:KeyRepeat
和InitialKeyRepeat
.在"系统偏好设置"中,它们将映射到滑块Key Repeat Rate
和Delay Until Repeat
滑块.滑块范围和相关的内部参数值(括号内)如下所示.它们似乎是15 ms键盘采样间隔的乘数.
Key Repeat Rate (KeyRepeat) Delay Until Repeat (InitialKeyRepeat) |--------------------------------| |----------------------|-----------------| slow (120) fast (2) off (30000) long (120) short (25) 0.5 char/s 33 char/s
幸运的是,这些参数可以直接在~/Library/Preferences/.GlobalPreferences.plist
文件中设置超出预定义的限制.我发现以下值对我自己最方便:
KeyRepeat = 1 --> 1/(1*15 ms) = 66.7 char/s InitialKeyRepeat = 15 --> 15*15 ms = 225 ms
请注意,在最新的Mac OS X版本中,滑块的命名略有不同.