@@ -166,13 +166,14 @@ InitCaretState() {
166
166
}
167
167
168
168
UpdateCaretState () {
169
- static last_changed_locale := 0
169
+ static last_changed_locale := 0 , last_changed_capslock := 0
170
170
global state
171
171
lang_id := 0x0000
172
172
state.prev.locale := state.locale
173
173
state.locale := GetInputLocaleIndex(& lang_id)
174
- if (state.locale ! = state.prev.locale)
175
- || (state.locale ! = last_changed_locale){
174
+ is_locale_changed := (state.locale ! = state.prev.locale )
175
+ || (state.locale ! = last_changed_locale)
176
+ if (is_locale_changed) {
176
177
last_changed_locale := state.locale
177
178
set_lang := False
178
179
for i, l_id in localesArray {
@@ -192,19 +193,26 @@ UpdateCaretState() {
192
193
193
194
state.prev.capslock := state.capslock
194
195
state.capslock := GetCapslockState()
196
+ is_caps_changed := (state.capslock ! = state.prev.capslock )
197
+ || (state.capslock ! = last_changed_capslock)
198
+ if (is_caps_changed) {
199
+ last_changed_capslock := state.capslock
200
+ }
195
201
196
- if CaretsFolderExist() {
197
- state.prev.caretMarkImage := state.caretMarkImage
198
- state.caretMarkImage := GetCaretMarkFile()
202
+ if (is_caps_changed || is_locale_changed) {
203
+ if CaretsFolderExist() {
204
+ state.prev.caretMarkImage := state.caretMarkImage
205
+ state.caretMarkImage := GetCaretMarkFile()
199
206
200
- state.prev.caretMarkName := state.caretMarkName
201
- state.caretMarkName := ""
202
- } else {
203
- state.prev.caretMarkName := state.caretMarkName
204
- state.caretMarkName := GetCaretMarkName(state.locale, state.capslock )
207
+ state.prev.caretMarkName := state.caretMarkName
208
+ state.caretMarkName := ""
209
+ } else {
210
+ state.prev.caretMarkName := state.caretMarkName
211
+ state.caretMarkName := GetCaretMarkName(state.locale, state.capslock )
205
212
206
- state.prev.caretMarkImage := state.caretMarkImage
207
- state.caretMarkImage := ""
213
+ state.prev.caretMarkImage := state.caretMarkImage
214
+ state.caretMarkImage := ""
215
+ }
208
216
}
209
217
}
210
218
0 commit comments