我如何设置 Caps Lock 来设置俄语,以及 Shift + Caps Lock 来设置英语?而不仅仅是 Ctrl + Shift 来切换它们。
答案1
下面的 Python 代码旨在绑定到两个不同的快捷键。例如,对于英语,将++Ctrl绑定到Alt1
python /path/to/script us
对于俄语,将Ctrl+ Alt+绑定2到
python /path/to/script ru
有关设置快捷方式的更多信息,请继续阅读Luis Alvarado 的回答
虽然实际上设置输入源取决于 gsettings 数组中的源索引,但此脚本会自动确定每个源的索引并进行适当设置
脚本源代码
from gi.repository import Gio
import sys
def gsettings_get(schema,path,key):
if path is None:
gsettings = Gio.Settings.new(schema)
else:
gsettings = Gio.Settings.new_with_path(schema,path)
return gsettings.get_value(key)
def gsettings_set(schema,path,key,value):
if path is None:
gsettings = Gio.Settings.new(schema)
else:
gsettings = Gio.Settings.new_with_path(schema,path)
return gsettings.set_uint(key,value)
sources = list(gsettings_get('org.gnome.desktop.input-sources', None ,'sources' ))
index = 0
for source in sources:
for item in source:
if sys.argv[1] == item:
index = sources.index(source)
gsettings_set( 'org.gnome.desktop.input-sources' , None, 'current',index )
答案2
据我所知,你能做的就是切换到下一种语言。你可以点击任务栏上的语言显示,然后选择“文本输入设置”。
你有两个选择:
Switch to next source using:
Switch to previous source using:
通过更改它们,您可以在语言之间切换。如果您只有两种语言,则只需设置第一种(因为第二种语言不会增加您的功能)。
在您的情况下,您可以将 caps lock 设置为切换到下一个源,将 shift+caps 设置为切换到上一个源。
但是,如果我可以提出一些建议,那就是仅将切换到下一个源设置为 shift+caps。这样,在输入文档时,按 caps lock 不会改变语言,从而让您更轻松地在大写和非大写字符之间切换。每当您按下 Shift+Caps 时,它都会从俄语更改为英语,从英语更改为俄语。