Articles of autohotkey

是否可以使用Apple Mac键盘的Autohotkey将OSX键盘快捷键转换为PC上的Windows 7等效物?

如果一位经验丰富的苹果Mac用户花了数年的时间学习了最喜欢的应用程序的OSX键盘快捷键,他们正在考虑转移到Windows 7或8个人电脑上,他们也想把这个快捷键的知识也翻译过来。 是否可以在电脑上使用真正的Apple Mac键盘,并使用Autohotkey将修改键翻译成下面的翻译表: Mac PC cmd / Apple ctrl ctrl Windows /开始 所以每次我按下苹果键盘上的“苹果”键,它就会在PC上执行“Ctrl”键,每当我按下苹果键盘上的“Ctrl”键,它就会执行“Windows / Start” PC。 我希望这是一个永久的function,而不必添加任何额外的修饰键。 谢谢!

更改由xterm为键组合生成的转义序列

我的目标是build立一个terminal,其中一个命令行界面程序将按照键盘input的预期行事(该程序是最初为Windows编写的xharbour,但现在我想将它移植到linux)。 我select了xterm,因为它更简单,不需要禁用默认的terminal组合键。 用腻子大多数人物工作得很好,对于那些不使用autohotkey,一个ahk脚本,并做这项工作。 例如,对于Ctrl + F1: ^F1::SendInput ^[O5P 我尝试和修改,重新编译terminfo,改变它,并改变键盘types,但不能实现获得^ [O5P响应按Ctrl + F1在terminal。 如果你知道这样做的任何方式,请告诉我…我已经读了几百页,据说这样做,但所有这些变化没有任何影响或没有预期的效果。 所以我试图修改terminal设置来实现我的Ctrl + F1到^ [O5P的目标,并尝试了一些类似于autohotkey的命令和程序: xmodmap ,但对于键组合,它不工作 xdotool windowactivate xyztypes^ [O5P,这将返回单个字符的char代码 xmacro ,它不会将按键发送到其他窗口 ironahk ,我一开始就遇到了一个错误,试图运行example.ahk,在光手册中找不到我希望的命令。 bind '\e[1;5P":"\e[O5P"' ,这里第一个键码就是我当前inputctrl + f1时所得到的结果,并且是我希望通过这个组合得到的结果。 xbindkeys + xvkbd ,也没有帮助。 如果您已经知道,请帮助我,以某种方式进行pipe理(更改为组合键返回的关键代码)。 我使用最新的CentOS和Ubuntu进行testing。

更改监视器input源

我想用AutoHotkey更改我的显示器input源,我有这个部分工作。 但是,当我使用热键更改显示器input源到我的Xbox(YPbYr)从PC(DVI),显示器不检测到Xbox打开,它说没有源。 显示器=> Asus vg236 VCP监视器input我的监视器的源代码: DVI => 3 HDMI => 4 YPbPr => 12 我正在使用Windows API监视器configuration函数,特别是使用DDC / CI的SetVCPFeature函数。 经过一番研究,我决定要设置VCPinput源,这里有一些有用的信息,特别是关于input源的第71页。 AutoHotkey代码: setMonitorSource(source) { ; Initialize Monitor handle hMon := DllCall("MonitorFromPoint" , "int64", 0 ; point on monitor , "uint", 1) ; flag to return primary monitor on failure ; Get Physical Monitor from handle VarSetCapacity(Physical_Monitor, […]

在autohotkey中获得可用的屏幕区域

我正在尝试编写几个简单的AutoHotkey脚本来移动窗口,并且无法获得正确的屏幕大小值。 我试图获得屏幕上可用区域的大小(通常是全屏幕分辨率减去任务栏,也可能是任何其他停靠的窗口,如Vista中的侧边栏)。 我find的获取屏幕宽度的方法都不起作用。 我发现获得屏幕尺寸的3种方法都没有给我正确的值。 这里是我正在使用的testing脚本(在XP下运行,任务栏在默认大小的底部): #7:: WinMove A,,0,0,A_ScreenWidth,A_ScreenHeight return #8:: ;SM_CXMAXIMIZED and SM_CYMAXIMIZED SysGet, ScreenWidth, 61 SysGet, ScreenHeight, 62 WinMove A,,0,0,ScreenWidth,ScreenHeight return #9:: ;SM_CXFULLSCREEN and SM_CYFULLSCREEN SysGet, ScreenWidth, 16 SysGet, ScreenHeight, 17 WinMove A,,0,0,ScreenWidth,ScreenHeight return #7使窗口占用整个分辨率,所以它与任务栏重叠。 #8导致宽度大于分辨率(我看到窗口的右边缘显示在我的辅助监视器上),高度稍大,所以窗口部分重叠任务栏区域。 看起来这是正确的,除了没有考虑到在边缘的窗口装饰。 #9似乎有正确的宽度,但高度太短。 它看起来像是从分辨率的高度减去任务栏的高度,但是从中减去另外30个像素。 我可以使用我在#9中所获得的高度,并将30增加到我得到的高度,但是这样的感觉太像是在其他configuration中破解的黑客。 似乎必须有一种方法来正确获取可用的屏幕大小,但我无法在AutoHotkey中find它。 作为参考,这似乎给了我所需要的Java: Toolkit.getDefaultToolkit().getScreenSize();

为什么AutoHotkey响应“系统无法find文件”错误?

我是新来的AutoHotkey,不明白为什么这个脚本给我的错误: Failed to launch program or document Action: <C:\Windows\System32\msg.exe> Params: <* "Initiated."> Specifically: The system cannot find the file specified. 这是我的test.ahk文件中的简单脚本: Run, "C:\Windows\System32\msg.exe" * "Initiated." 我已经validation了msg.exe文件位于c:\ Windows \ System32文件夹中,并且可以在没有脚本的情况下从命令提示符下单击msg.exe程序来运行它。 我也可以创buildmsg.exe的快捷方式,它的工作原理,但我不知道如何获得test.ahk脚本文件来看看它。 我尝试运行脚本(通过单击test.ahk文件),作为pipe理员,但得到相同的错误。

如何使用Autohotkey将capslock密钥重新映射到EMACS super?

这个网站显示了如何使用registry。 http://www.emacswiki.org/emacs/JonasOster

Autohotkey中的全局键盘function?

这个脚本“自动按下”E,同时按住它。 $e:: While GetKeyState("e","P") { Random, r, 50, 250 sleep r Send e } return 有没有办法全球调用这个函数的任何键? 例如:按住A,会自动按A,Z会自动按Z. 没有手动分配代码上的每个可能的密钥。

在“locking”屏幕后面会发生什么?

我一直在研究Windows自动化和监控。 当我locking一台Windows机器的屏幕时究竟发生了什么? 目前我正在使用Windows 7,如果切换到Vista或服务器版本,行为是否有很大差异? 还有一个可以通过api访问的桌面吗? 我知道我仍然可以发送按键和鼠标点击到特定的窗口(通过ControlSend和ControlClick ),但似乎没有“桌面”本身。 是否有人能够对这件事情有所了解,或者将我指向一个可读的来源,在那里我可以概览这个话题?

AutoHotKey可以切换键盘映射吗?

所以我试图在AutoHotKey中编写一个简单的脚本,它将使用NumLock(我已经映射到我的registry中的大写字母)作为开关将我的方向键转换为数字键盘的NAB键。 我的脚本如下: GetKeyState, state, NumLock, T if state = D { Up::Numpad8 Down::Numpad2 Left::Numpad4 Right::Numpad6 Enter::Numpad5 } if state = U { $Up::Up $Down::Down $Left::Left $Right::Right $Enter::Enter } Return 但是,我得到一个错误,说第15行重复。我如何告诉AutoHotKey将我的密钥返回到其原始密钥指示? 我试图留下一个“其他”部分空白,而不是“if state = U”部分,但是当再次切换时,这些键保持在它们改变的状态。 我确定有一些简单的我错过了。

如何将AltGr键全局映射到Alt键?

我想我的AltGr键行为完全像左Alt 。 通常,我使用Autohotkey来做这种事情,但是我对不同的解决scheme是开放的。 我试过这个: LControl & RAlt::Alt 和Autohotkey显示错误关于Alt不被识别的动作。 然后我尝试了下面的代码: LControl & RAlt:: Send {Alt down} KeyWait LCtrl KeyWait Ralt Send {Alt up} return 哪种工作 – 我能够使用AltGr键来访问热键,但它仍然有不同的performance: 当我按下并释放左侧的Alt时 ,当前程序中的第一个菜单项将获得焦点。 用这个脚本按下并释放AltGr什么也不做。 有任何想法吗? 这甚至可以用Autohotkey? (重新右键Ctrl和Shift到左边的兄弟姐妹是小菜一碟) 注意:我试着在代码LAlt Alt切换到LAlt ,这没有任何区别。