39 lines
1.8 KiB
Diff
39 lines
1.8 KiB
Diff
|
diff -Nura gnome-shell-3.38.2/js/ui/status/keyboard.js gnome-shell-3.38.2_new/js/ui/status/keyboard.js
|
||
|
--- gnome-shell-3.38.2/js/ui/status/keyboard.js 2020-12-03 07:00:04.412861000 +0800
|
||
|
+++ gnome-shell-3.38.2_new/js/ui/status/keyboard.js 2021-01-12 11:46:45.501634675 +0800
|
||
|
@@ -264,6 +264,34 @@
|
||
|
this._settings.connect('changed::%s'.format(this._KEY_INPUT_SOURCES), this._emitInputSourcesChanged.bind(this));
|
||
|
this._settings.connect('changed::%s'.format(this._KEY_KEYBOARD_OPTIONS), this._emitKeyboardOptionsChanged.bind(this));
|
||
|
this._settings.connect('changed::%s'.format(this._KEY_PER_WINDOW), this._emitPerWindowChanged.bind(this));
|
||
|
+
|
||
|
+ let sources = this._settings.get_value(this._KEY_INPUT_SOURCES);
|
||
|
+ let nSources = sources.n_children();
|
||
|
+ let sourcesList = [];
|
||
|
+
|
||
|
+ if (nSources <= 1) {
|
||
|
+ if (GLib.getenv('LANG') == 'zh_CN.UTF-8') {
|
||
|
+ log('Set default input method in Chinese language env.');
|
||
|
+ sourcesList.push(['xkb', 'cn']);
|
||
|
+ sourcesList.push([ "ibus", "libpinyin" ]);
|
||
|
+ }
|
||
|
+
|
||
|
+ else if (GLib.getenv('LANG') == 'ja_JP.UTF-8') {
|
||
|
+ log('Set default input method in Japanese language env.');
|
||
|
+ sourcesList.push(['xkb', 'jp']);
|
||
|
+ sourcesList.push([ "ibus", "mozc-jp" ]);
|
||
|
+ sourcesList.push([ "ibus", "kkc" ]);
|
||
|
+ }
|
||
|
+
|
||
|
+ else if (GLib.getenv('LANG') == 'ko_KR.UTF-8') {
|
||
|
+ log('Set default input method in Korean language env.');
|
||
|
+ sourcesList.push(['xkb', 'kr']);
|
||
|
+ sourcesList.push([ "ibus", "hangul" ]);
|
||
|
+ }
|
||
|
+
|
||
|
+ let params = GLib.Variant.new('a(ss)', sourcesList);
|
||
|
+ this._settings.set_value(this._KEY_INPUT_SOURCES, params);
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
_getSourcesList(key) {
|