排除通过 rdesktop 传递的某些组合键

Mar*_*ter 6 desktop key-mapping rdesktop

当通过rdesktop远程机器连接时,通常在活动 rdesktop 窗口内按下的所有键都会传输到远程机器。

是否可以定义排除的击键?我的意思是,当 rdesktop 窗口处于活动状态时按下时,这些击键将在本地起作用。

一个具体的例子是关键kombinationCTRL+ALT+LEFTCTRL+ALT+RIGHT我用我的本地机器上的虚拟桌面之间进行切换。远程计算机没有任何虚拟桌面,此组合键在那里不起作用。但是,仍然会被 rdesktop 窗口“吃掉”按键。

我不确定这应该在什么级别上完成。我的猜测是,击键在传递到 rdesktop 之前必须被拦截。

有没有办法实现这一目标?

我的本地机器是带有 LXDE 的 Debian Wheezy。

slm*_*slm 6

我认为您的解决方案的一部分从使用-K切换到rdesktop.

-K     Do not override window manager key bindings.  By default rdesktop 
       attempts to grab all keyboard input when it is in focus.
Run Code Online (Sandbox Code Playgroud)

修补

我还发现这个线程标题为:线程:rdesktop - 忽略某些组合键,其中一位海报提到他做了一个补丁rdesktop,做了以下事情:

  • 双击Ctrl+ Alt+LeftCtrl+ Alt+Right切换本地活动工作区。
  • 双击Ctrl+ Alt+Tab切换本地活动窗口。
  • 其他热键直接发送到远程机器。
  • 如果rdesktop的处于全屏模式(-f)运行,Ctrl+ Alt+Left/Right/Tab将它首先切换到窗口模式。切换回来后,它不能自动切换到全屏。按Ctrl+ Alt+Enter这样做。(我知道这很无聊。但这是我能做的最好的。Rdesktop 使用 override_redirect 来实现全屏,无论您切换到哪个工作区/窗口,它始终是最顶层的窗口)。

但是现在显然与该补丁的链接已从该线程中断开。谢天谢地,作者将补丁提交给了rdesktop项目。该补丁在此处可用,标题为:#178 Send some hotkeys to local windows manager 而不是 remote

桌面键盘映射

我还在rdesktop标题为:keymapping.txt 的文档中找到了这个文档。该文档似乎涵盖了您正在寻找的内容。