用autohotkey上的脚本替换Punto Switcher,Birman布局

在本文中,我不建议完全替代Punto Switcher(感谢此程序的Sergey Moskalev),而仅是功能非常有限。 我已经使用Punto Switcher程序很长时间了,但不是出于自动切换的目的,而是作为左右Shift上的开关。 自从Dos以来,我一直对这种切换感到满意,并且在Windows(尤其是对于版本7)下,我不必考虑窗口中将显示哪种语言,而只需按左Shift键,我的主要俄语就可以输入了。 请注意,当用鼠标右键单击时,左手可以通过按左Shift键来切换语言或设置俄语,为此,您甚至不需要在任何地方分散注意力,所有操作都会自动完成。 因此,对于我来说,使用Shift左键将语言切换到俄语布局和使用Shift右键将英语切换到英语布局总是很方便。

时间流逝,花了另一种语言介绍给用户,他们还希望支持Birman布局和其他布局。 我能够评估自己的不便之处,这就是为什么我必须弄清楚该怎么做的原因。 如果仅采用Birman布局,那么在右侧的Alt(如果有热键)上,则它们将与该布局重叠,并且无效。 而且有很多这样的热键,因为您可以在每个桌面快捷方式上挂断一个“ Ctrl + Alt +键”的快捷方式。 但是,如果要像Birman的布局那样制作,但没有正确的Alt键,则按键,切换这些语言的堆的问题仍然会存在。

简而言之,我没有比在autohotkey上使用脚本更好的方法了,因为它可以让您做很多必要的事情,并且很容易被他人更改。 因此,本文对Habr的某些读者很有用,当我悔改时,专业人士可以更正我的代码,但这是我第一次在autohotkey上编写脚本。

切下的是“在Keybord Assistant 1.0程序中扩展键盘布局”图和对该图的详细说明。



没有完美的解决方案,您总是必须牺牲一些东西。 在这种情况下,由于我很少使用右键RAlt和RWin,因此不得不牺牲它们的功能。 由于RAlt可以用于其他语言,因此我使用RCtrl。 由于某些程序具有自己的棘手的键盘状态拦截器,为了完全“消除”它们对按下RAlt和RWin键的反应,我们必须使用KeyTweak程序将正确的ALt设置为WWW Stop,将正确的Win设置为My Computer。 多媒体键盘上的这些键几乎从未被人们使用过,因此对于我的目的而言,它们是完美的。 即使您不小心单击它们,它们也不会影响Windows的功能。

我的Birman布局几乎完全重复了(已添加格里夫纳符号),除了它位于RWin键上,也许对某人来说不如RAlt上的原始布局方便。 但这不是我的主要工具,而是RAlt键上的主要工具。

为了从Birman布局中打印符号,您需要按下RWin键和一些在其上方以棕色绘制的键。 如果该符号以较浅的颜色绘制,则如果您仍按Shift键,则会将其打印出来。 例如:RWin + Shift +打印字符。

CapsLock键用作左Ctrl,因为当我盲目键入时,到达LCtrl非常非常不方便,而且完全不可能到达RCtrl。 很少需要CapsLock,因此我将其切换为LAlt + CapsLock。

有几种切换布局(可能的Windows除外:RWin + Space或RAlt + RShift):LShift-切换为俄语,RShift-切换为英语,RAlt-仅在En和Ru布局之间切换,LAlt + Space-在其他布局之间切换,但不是恩而不是茹。 快速切换CapsLock以及这些布局,即按下并立即按下按钮。 这样做是为了消除按下复杂的按键组合时出现的问题。 与Punto Switcher相比,切换Shift语言的响应速度更快,这仅让我对更快的键入感到满意。 如果您根据RAlt切换了布局,然后需要用另一种语言(不是俄语或英语)键入一个单词,然后通过LAlt +空格键快速切换并键入所需的单词,则可以再次单击RAlt再次获得该语言在此之前,因为记住了语言(Ru或En)。 到目前为止,还没有记住LAlt + Space的语言,但是如果您使用的语言很多,通常不仅需要3种语言,还需要4.5种语言,等等,那么您可能需要更改脚本并实现这种功能。

使用LAlt键,您可以输入货币符号,乌克兰语的撇号,重音符号,带有不可分割的空格的长划线。 我知道菜单中使用了LAlt,重要的是不要重新分配所有字母键,但是这里是我在脚本中使用的一些数字键,它们没有碰到LAlt + 1,2,3,4,这在标准计算器中方便使用。

主要工作键是RAlt。 使用此脚本和此键,我可以轻松地将光标移至文本上方,轻松删除或插入所需的字符。 所有这一切都无需移动右手,即可脱离百叶窗的主要位置。 那些需要长时间编程的人已经知道了俄语字母已替换符号[]或<>的问题。 如果您正在写文章,并且需要键入这些字符,那么您将不得不切换语言。 在此脚本中,我使用RAlt键解决了此问题。 示例:RAlt + b-打印字符]; RAlt + 2-打印@符号; lt鼠+俞-打印a>标志。

组合键RAlt + Tab +,等将不再移动文本光标,而是移动鼠标光标。 使用Tab,此脚本可以某种方式替换鼠标,例如,如果鼠标突然中断。 对我来说,该功能比内置Windows特殊功能要方便一些。

好吧,对于具有基本俄语的西里尔语言用户,但是您需要键入符号乌克兰语,白俄罗斯语,甚至是摩尔达维亚西里尔字母的字母such等几乎未使用的字符,都有机会使用RAlt +键键入所需的字符。

为了使用脚本,您必须首先下载它:
下载档案“ Keybord Assistent 1_0.rar”
检查档案中是否有病毒(在任何Autohotkey脚本中,总是有6种晦涩公司的防病毒软件发誓)

对于那些使用Autohotkey的用户来说,很显然,他们需要从该存档中查看文件“ Keybord Assistent 1_0.ahk”。 对于什至不知道如何重新分配密钥的普通用户(例如,使用KeyTweak程序),您需要以管理员权限运行并执行以下操作:

  1. 解压Keybord Assistent 1_0.rar档案
  2. 运行文件“重新分配RAlt RWin.reg”
  3. 重新启动电脑
  4. 运行文件“ Keybord Assistent 1_0.exe”

程序将被放置在托盘中(大约一个小时),并且程序管理菜单位于右侧按钮上,可以获取帮助(如上图所示)。 在“停止”模式下,将返回所有标准键的功能(行为)(即使重新分配了RAlt和RWin,也包括RAlt和RWin),因为有时游戏或某些程序中需要所有键。

如果您不喜欢该程序,请运行文件“以RAlt RWin.reg的形式返回”,然后重新启动计算机。

对于高级用户,您可以编辑脚本“ Keybord Assistent 1_0.ahk”并运行以执行该脚本(当然,前提是已安装Autohotkey)。 您所有的功能更改都可以在“ Keybord Assistent 1_0.xlsx”文件中得到纠正,并通过创建新文件“ HelpKeybAs.jpg”来截取屏幕截图。

允许对代码进行任何更改(当然,除了用您自己的名称替换脚本中的作者外,但不允许添加它们),添加代码,在脚本中使用部分代码。

本文是专门为habr.com撰写的,在此之前还没有像任何脚本本身一样在任何地方发布( 甚至该脚本尚未在作者的网站上发布 )。

Source: https://habr.com/ru/post/zh-CN464813/


All Articles