linux下如何将全局热键绑定到wine程序

你有没有在WINE下的Linux下安装Windows程序,却发现它不再绑定系统范围的热键?HTG有你一直在寻找的工作。...

linux下如何将全局热键绑定到wine程序

你有没有在WINE下的Linux下安装Windows程序,却发现它不再绑定系统范围的热键?HTG有你一直在寻找的工作。

图片来源:Djecalyptus

概述

每一个有过切换到Linux想法的人,可能都会很快遇到这样一个问题:你需要一个Windows应用程序来运行。我们已经向你们展示了用葡萄酒可以达到这个目的。

对于本文作者来说,这个应用程序是一个使用microsoftsapi4引擎的文本到语音应用程序。在WINE下安装程序很容易,但是在完成后我很快发现用于触发程序各种操作(开始读取、停止读取等)的热键不起作用,这是WINE的一个已知问题。

我很高兴地说,经过亿万年的搜索,我终于找到了GNU实用程序的解决方案,它可以使用本机函数操纵X.org接口。xdool并不是唯一的一个,它是最容易使用的,并且已经在Ubuntu/Mint存储库中了。

异丙醇

xdool程序可以从CLI执行许多与窗口相关的任务,也就是说,我们要使用的只有“search”和“key”。“search”函数就是这样做的,它根据为它设置的参数来搜索一个window/s ID。“键”功能使您能够模拟窗口ID的键笔划。

安装和配置

假设您已经安装了WINE及其下所需的程序。在这个例子中,我们将使用Balabolka作为“Windows”应用程序,因为它是一个很好的免费复制的原始程序,我需要这个解决方案(第二语音中心)。

如果你也选择使用Balabolka,你需要激活它的热键能力。注意:即使在演示模式下,您也可能希望安装TTSReader或2nd speech center,以便安装SAPI voices。

Open the program and go to settings (Shift+F6) under “Opti***” -> “Settings”. linux下如何将全局热键绑定到wine程序

Go to the hotkeys tab and check the checkbox for “Use global hotkeys”. linux下如何将全局热键绑定到wine程序 Click OK.

让它在后台运行,这样当我们将击键连接到它时,它就可以完成它的工作。

通过发出以下命令安装xdool:

sudo apt-get install xdotool

 

全局绑定

xdool程序本身并不能帮助我们全局绑定到热键,但是我们可以使用已经存在的OS热键系统。我们要做的是创建一个简单的脚本,利用xdool将我们想要的击键发送到Balabolka程序,并从OSs热键系统调用它。

创建一个名为“开始”的脚本_阅读.sh“内容如下:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) "ctrl+alt+F9"

这次创建另一个名为“stop”的脚本_阅读.sh“内容如下:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) "ctrl+alt+F7"

注意:我知道这是一个不需要脚本的单行程序,但是Mint/Ubuntu的“键盘快捷键”程序并不配合直接调用它。如果你知道怎么做,请在下面的评论中分享。

我们看到的是:

  • “-pid$(pgrep balabolka)”部分对我们要用作确定其进程ID的程序执行一个“pgrep”。这将把“search”的xdool字段缩小到该pid。
  • “xdotool search–limit 1–all…–name Balabolka”部分将xdotool的搜索范围进一步缩小,并将返回的答案限制为1。在我们的例子中,无论程序返回哪个窗口id,限制结果都充当“key”命令的格式化程序。你可能会发现你需要按摩这一部分更多,如果它是你正在使用的程序的问题。
  • “xdool key–window%window\u ID%”“ctrl+alt+F7〃部分将所需的击键发送到由前面部分获得的windowID。

使脚本可执行。

Linux Mint键盘快捷键

在LinuxMint下,全局热键是在“键盘快捷键”程序中设置的。

linux下如何将全局热键绑定到wine程序

打开后,单击“添加”创建新的自定义快捷方式:

linux下如何将全局热键绑定到wine程序

给它一个名字,在“Command”下给出我们上面创建的一个脚本的完整路径。对第二个脚本重复此过程。

现在,在“快捷方式”列中,单击“禁用”字以获得设置新键的选项组合注释:如果愿意,您可以使用程序默认值以外的内容。从某种意义上说,创建一个键绑定的“重映射”,根据您使用的程序,否则将无法控制。

linux下如何将全局热键绑定到wine程序

点击你选择的组合,听魔术。

Ubuntu键盘

Under Ubuntu, the program that sets the global hotkeys is just called “Keyboard”. linux下如何将全局热键绑定到wine程序

Switch to the “Shortcuts” tab and select “Custom Shortcuts”. linux下如何将全局热键绑定到wine程序

单击加号添加快捷方式。给它一个名字,在“Command”下给出我们上面创建的一个脚本的完整路径。重复第二个步骤剧本。现在单击“Disabled”字以获得设置新键组合的选项。

注意:重复薄荷部分的注释,如果您愿意,可以使用程序默认值以外的内容。从某种意义上说,创建一个键绑定的“重映射”,根据您使用的程序,否则将无法控制。

作者笔记

每次我认真考虑迁移到Linux时,这个问题都是我遇到的第一个问题。并不是说Linux没有问题,但对我来说,这才是真正的障碍。我试了一次又一次,问了很多朋友,甚至还把它做成了一笔赏金……我很高兴这段传奇结束了,我的灵魂终于可以休息吧。它我希望我已经帮助了一些人不必经历同样的折磨。


布朗医生:我花了将近三十年的时间和我全家的财产才实现了那一天的梦想。天哪,这么久了吗?

  • 发表于 2021-04-12 04:12
  • 阅读 ( 139 )
  • 分类:互联网

你可能感兴趣的文章

如何使用vineyard在linux上运行windows应用程序

... 学习所有关于葡萄园的知识,包括它是什么以及如何安装它。 ...

  • 发布于 2021-03-12 04:00
  • 阅读 ( 238 )

mono是什么?它如何帮助windows切换到linux?

... 如何处理Linux上的应用程序缺口? ...

  • 发布于 2021-03-12 18:14
  • 阅读 ( 612 )

pipelight的终结:如何让它在linux上运行

... pipelight是如何被弃用的? ...

  • 发布于 2021-03-13 13:01
  • 阅读 ( 269 )

葡萄酒程序不起作用?尝试以下步骤

...更好的机会让程序运行。您可以在他们的网站上找到有关如何为Linux发行版执行此操作的具体说明。 ...

  • 发布于 2021-03-16 10:20
  • 阅读 ( 187 )

如何在linux上玩windows游戏

我们都喜欢游戏,当然也不乏来自各大工作室和独立开发者的赏心悦目的作品。不过,重温一个复古的书名也有一些让人很满足的地方,比如在相隔多年后,赶上一位老朋友。你认为那些古老的游戏已经走上了美国在线CD的道路...

  • 发布于 2021-03-17 09:07
  • 阅读 ( 221 )

如何在linux上安装microsoft office

... 但是你的电脑运行Linux。你到底要如何安装微软办公软件,并使用它而不会遇到问题? ...

  • 发布于 2021-03-18 07:01
  • 阅读 ( 277 )

如何使用steam play在linux上玩几乎所有windows游戏

... 下面介绍如何在Linux上使用测试版的Steam play玩Windows游戏。 ...

  • 发布于 2021-03-23 19:13
  • 阅读 ( 354 )

如何使用wine在raspberry-pi上安装windows软件

... 如何在raspberry pi上安装windows软件 ...

  • 发布于 2021-03-25 18:26
  • 阅读 ( 412 )

如何在mac上排除不一致的按键通话

...全系统,以防止Discord的按键通话功能正常运行。下面是如何在Mac上排除Discord的按键通话功能。 首次安装discord时授予授权 当您第一次安装并启动Discord时,应该会看到一系列安全提示。 这些提示与请求访问Mac上的敏感权限(包...

  • 发布于 2021-04-02 01:48
  • 阅读 ( 161 )

每个skype键盘快捷键以及如何使用它们

...帮助:Cmd+Shift+H 打开反馈:Cmd+Option+O 刷新Skype:Cmd+Shift+R 如何在skype中禁用全局键盘快捷键 默认情况下,Skype上的所有标准热键都处于启用状态。很遗憾,您无法禁用或自定义这些热键。但是,可以使用“设置”菜单禁用两个全...

  • 发布于 2021-04-02 05:20
  • 阅读 ( 250 )
卿闻焕日
卿闻焕日

0 篇文章

相关推荐