[Topic DIscussion] 希望提供完善的快捷键绑定设置
Tofloor
poster avatar
180******47
deepin
2022-06-22 06:40
Author

我希望能够设置SHIFT+SPACE作为中英文切换(切换至首位输入法)的快捷键,但是Deepin不让设置,一按下SHIFT就退出设置模式了。SHIFT-SPACE被用于全局搜索了,而且这个无法取消。我只能将全局搜索的快捷键设置为一个乱七八糟的东西,避免我按下SHIFT-SPACE时弹出搜索框。但是,即便如此,在输入法设置的地方还是不能设置SHIFT-SPACE作为打开中文输入的开关。

原因:windows下默认的中英文切换是CTRL-SPACE。N年前,我们用的IDE将CTRL-SPACE用作自动补全的触发键。我为了避免这个冲突,设定了SHIFT-SPACE作为中英文切换。虽然现在VSCode之类的已经不需要自动补全触发快捷键了,但我发现我的选择非常好用,因为在手指不离开键盘的情况下SHIFT-SPACE比CTRL-SPACE好用的多,打字速度也会快。

总之,我觉得现在的快捷键设置是“残缺”的。

Reply Favorite View the author
All Replies
Merlin
Super Moderator
Product Manager
2022-06-22 06:51
#1

这个快捷键的问题,我会反馈。但更多的可能是一种使用习惯dde对于快捷键有自己的定义。

Reply View the author
wcs4221
deepin beta test group
2022-06-22 14:26
#2

目前是无法实现哟!

Reply View the author
忘记、过去
Moderator
2022-06-22 17:13
#3

fcitx-configtool

终端运行 GTK 的输入法配置工具,菜单->全局配置,里面可以自行修改输入法切换快捷键。修改保存后仅控制中心应该能看到修改后的结果。

P.S. 控制中心里面好像没区分 Shift 和 LShift 之类的,每次都没法正常输入。用 fcitx-configtool 修改后能看到显示为 Shift+LShift 这样子

全局搜索我直接改成 Super + Space 了,和 macOS 保持一致 XD

Reply View the author
180******47
deepin
2022-06-22 18:17
#4

非常奇怪的一件事情:如果SHIFT+SPACE中的SHIFT有特殊含义,为啥它会默认用于全局搜索?既然全局搜索可以用,为啥不能用于别的程序?这种设计的原因是什么?

Reply View the author
DebuggerX
deepin
2022-06-22 18:27
#5

应该可以用我这个办法解决:

利用 Xbindkeys 设置全局快捷键/一键切换输入法

Reply View the author
180******47
deepin
2022-06-22 21:48
#6
DebuggerX

应该可以用我这个办法解决:

利用 Xbindkeys 设置全局快捷键/一键切换输入法

很遗憾无法实现。Shift+space好像被系统吃掉了。我用xbindkeys没有任何反应。然后我写了个脚本如下:

xdotool keydown Ctrl+space

xdotool keyup Ctrl+space

然后将这个脚本与Shift+space绑定,没有任何效果。

Reply View the author
DebuggerX
deepin
2022-06-22 22:32
#7
180******47

很遗憾无法实现。Shift+space好像被系统吃掉了。我用xbindkeys没有任何反应。然后我写了个脚本如下:

xdotool keydown Ctrl+space

xdotool keyup Ctrl+space

然后将这个脚本与Shift+space绑定,没有任何效果。

我试过可以的,配置如下

image.png

就是利用 Shift+space 模拟触发 Ctrl+Shift,没道理不成功。

当然也别忘了先把系统的快捷键用删除键删掉:

image.png

Reply View the author
DebuggerX
deepin
2022-06-22 22:37
#8
180******47

很遗憾无法实现。Shift+space好像被系统吃掉了。我用xbindkeys没有任何反应。然后我写了个脚本如下:

xdotool keydown Ctrl+space

xdotool keyup Ctrl+space

然后将这个脚本与Shift+space绑定,没有任何效果。

录屏_选择区域_20220622143421.gif

可以看到LSHIFT和SPACE按下后 立即出现了LCTRL和LSHIFT,就是xbindkeys实现的效果

Reply View the author
180******47
deepin
2022-06-23 01:24
#9
DebuggerX

录屏_选择区域_20220622143421.gif

可以看到LSHIFT和SPACE按下后 立即出现了LCTRL和LSHIFT,就是xbindkeys实现的效果

xbind.png
按照你的配置还是没有成功。有几个问题请教:

  1. 你视频中按键后屏幕显示出来的当前按下去的按钮比如A、S、D这类,是什么软件弄出来的效果?我如何去看系统现在接收到了什么键?
  2. 我将xbindkey默认的control-shift-q改成xbindkeys-config,可以成功运行。但是添加了Shift-space,用于运行deepin-editor,一点反应没有。配置如上图。请注意:热键配置中m:0x1+c:50这串是它自己在GetKey的时候添加的,我也不知道是什么意思。
Reply View the author
180******47
deepin
2022-06-23 01:37
#10

忽然发现这个奇怪现象,在xbindkeys-config中,我明明按下的是Shift + space,但GetKey给我返回的却是“Shift + Shift_L | m:0x1 + c:50”!我手工改为Shift + space,也没有效果。

Reply View the author