MCPcopy Create free account
hub / github.com/EasyIME/PIME / onKeyUp

Method onKeyUp

python/cinbase/__init__.py:2328–2384  ·  view source on GitHub ↗
(self, cbTS, keyEvent)

Source from the content-addressed store, hash-verified

2326
2327
2328 def onKeyUp(self, cbTS, keyEvent):
2329 charCode = keyEvent.charCode
2330 keyCode = keyEvent.keyCode
2331 cbTS.lastKeyDownCode = 0
2332 cbTS.lastKeyDownTime = 0.0
2333
2334 # 若放開 Shift 鍵,且觸發中英文切換
2335 if cbTS.isLangModeChanged and keyCode == VK_SHIFT:
2336 self.toggleLanguageMode(cbTS) # 切換中英文模式
2337 cbTS.isLangModeChanged = False
2338 cbTS.showmenu = False
2339 cbTS.multifunctionmode = False
2340 if not cbTS.hidePromptMessages and not cbTS.client.isUiLess:
2341 message = '中文模式' if cbTS.langMode == CHINESE_MODE else '英數模式'
2342 cbTS.isShowMessage = True
2343 cbTS.showMessage(message, cbTS.messageDurationTime)
2344 if cbTS.showCandidates or len(cbTS.compositionChar) > 0 or len(cbTS.compositionBufferString) > 0:
2345 if cbTS.compositionBufferMode and not cbTS.selcandmode:
2346 RemoveStringLength = self.calcRemoveStringLength(cbTS)
2347 self.removeCompositionBufferString(cbTS, RemoveStringLength, True)
2348 self.resetComposition(cbTS)
2349
2350 # 若放開 CapsLock 鍵
2351 if keyEvent.keyCode == VK_CAPITAL:
2352 self.updateLangButtons(cbTS)
2353
2354 if cbTS.isShapeModeChanged:
2355 cbTS.isShapeModeChanged = False
2356 if not cbTS.hidePromptMessages and not cbTS.client.isUiLess:
2357 message = '半形模式' if cbTS.shapeMode == HALFSHAPE_MODE else '全形模式'
2358 cbTS.isShowMessage = True
2359 cbTS.showMessage(message, cbTS.messageDurationTime)
2360 if cbTS.showCandidates or len(cbTS.compositionChar) > 0:
2361 if cbTS.compositionBufferMode and not cbTS.selcandmode:
2362 RemoveStringLength = self.calcRemoveStringLength(cbTS)
2363 self.removeCompositionBufferString(cbTS, RemoveStringLength, True)
2364 self.resetComposition(cbTS)
2365
2366 if cbTS.isSelKeysChanged:
2367 cbTS.setCandidateList(cbTS.candidateList)
2368 if cbTS.isShowCandidates:
2369 cbTS.setShowCandidates(True)
2370 cbTS.isSelKeysChanged = False
2371
2372 if cbTS.showPhrase and cbTS.phrasemode and cbTS.isShowPhraseCandidates:
2373 cbTS.setShowCandidates(True)
2374
2375 if cbTS.showMessageOnKeyUp:
2376 if not cbTS.onKeyUpMessage == "" and not cbTS.client.isUiLess:
2377 cbTS.showMessage(cbTS.onKeyUpMessage, cbTS.messageDurationTime)
2378 cbTS.showMessageOnKeyUp = False
2379 cbTS.onKeyUpMessage = ""
2380
2381 if cbTS.hideMessageOnKeyUp:
2382 cbTS.hideMessage()
2383 cbTS.isShowMessage = False
2384 cbTS.hideMessageOnKeyUp = False
2385

Callers

nothing calls this directly

Calls 9

toggleLanguageModeMethod · 0.95
resetCompositionMethod · 0.95
updateLangButtonsMethod · 0.95
setCandidateListMethod · 0.80
setShowCandidatesMethod · 0.80
showMessageMethod · 0.45
hideMessageMethod · 0.45

Tested by

no test coverage detected