Mahou icon indicating copy to clipboard operation
Mahou copied to clipboard

Стрелка при верхнем регистре работает некорректно в некоторых случаях

Open HYBRID-BEING opened this issue 5 years ago • 6 comments

Проблема/описание запроса

При использовании опции "Стрелка при верхнем регистре." (Вид -> Возле мышки/каретки):

  1. стрелка не отображается сразу после включения Caps Lock. При этом, после ввода любого цифро-буквенного символа стрелка отбражается, а после ввода иных символов исчезает;
  2. в некоторых случаях стрелка продолжает отображаться при смене языка по Ctrl/Alt+Shift (рискну предположить, что если отпустить сначала одну клавишу, чтобы язык поменялся, а потом - вторую клавишу в момент, когда меняется флаг языка). После повторного нажатия Shift стрелка пропадает.

Ожидаемое поведение (только при сообщении об ошибках)

  1. При включении Caps Lock стрелка отображается постоянно.
  2. Стрелка не отображается, если Caps Lock выключен, а Shift не зажат.

Информация окружения/Отладочная информация

MAHOU DEBUG INFO
Environment info
  • Mahou 2.9.0.1-dev
  • OS = [Microsoft Windows NT 6.2.9200.0]
  • x64 = [True]
  • .Net = [4.0.30319.42000]
All installed layouts

Русская(68748313) США(67699721) Японская(68224017)

Mahou.ini
[Hidden]
NCS_tray=true
NCS=N
AS_IngoreLSTimeout=5000
AS_IngoreRules=SWMCLT
AS_IngoreLS=false
AS_IngoreDel=false
AS_IngoreBack=false
__setlayout_ONLYWM=false
__setlayout_FORCED=false
onlyAutoSwitchExcluded=
onlySnippetsExcluded=
__selection_nomouse=false
__selection=false
CycleCaseReset=false
CycleCaseOrder=TULSR
LibreCtrlAltShiftV=false
ReSelectCustoms=tTRSULCN
AutoCopyTranslation=
ChangeLayoutOnTrayLMB=false
DisableMemoryFlush=false
ToggleAutoSwitchHK=
AutoRestartMins=0
[FirstStart]
First=False
[Functions]
WriteInputHistoryHourly=false
WriteInputHistoryByDate=false
AutoStartAsAdmin=False
TrayIconVisible=True
ConvertSelectionLayoutSwitching=False
ReSelect=False
RePress=False
AddOneSpaceToLastWord=False
AddOneEnterToLastWord=False
ConvertSelectionLayoutSwitchingPlus=False
ScrollTip=False
StartupUpdatesCheck=True
SilentUpdate=True
Logging=False
CapsLockTimer=False
TrayFlags=True
BlockMahouHotkeysWithCtrl=False
SymbolIgnoreModeEnabled=false
MCDServerSupport=False
OneLayoutWholeWord=False
GuessKeyCodeFix=False
AppDataConfigs=False
RemapCapslockAsF18=False
UseJKL=True
ReadOnlyNA=True
WriteInputHistory=False
WriteInputHistoryBackSpaceType=0
TrayText=False
[Layouts]
SwitchBetweenLayouts=True
OneLayout=False
EmulateLayoutSwitch=False
EmulateLayoutSwitchType=Alt+Shift
ChangeToSpecificLayoutByKey=True
MainLayout1=Русская(68748313)
MainLayout2=США(67699721)
SpecificKey1=11
SpecificKey2=10
SpecificKey3=0
SpecificKey4=0
SpecificLayout1=Переключать между раскладками
SpecificLayout2=Японская(68224017)
SpecificLayout3=
SpecificLayout4=
SpecificKeysType=0
SpecificKeySets=set_0
QWERTZfix=False
[PersistentLayout]
OnlyOnWindowChange=False
ChangeOnlyOnce=False
ActivateForLayout1=False
ActivateForLayout2=False
Layout1CheckInterval=50
Layout2CheckInterval=50
Layout1Processes=devenv.exe wdexpress.exe
Layout2Processes=notepad++.exe winword.exe
[Appearence]
DisplayLangTooltipForMouse=True
DisplayLangTooltipForMouseOnChange=False
DisplayLangTooltipForCaret=True
DisplayLangTooltipForCaretOnChange=False
DifferentColorsForLayouts=False
MouseLTAlways=False
Language=Русский
Layout1ForeColor=#000000
Layout1BackColor=#FFFFFF
Layout1TransparentBackColor=False
Layout1Font=Georgia; 8pt
Layout1Height=14
Layout1Width=26
Layout1PositionX=8
Layout1PositionY=0
Layout2ForeColor=#000000
Layout2BackColor=#FFFFFF
Layout2TransparentBackColor=False
Layout2Font=Georgia; 8pt
Layout2Height=14
Layout2Width=26
Layout2PositionX=8
Layout2PositionY=0
MouseLTForeColor=#000000
MouseLTBackColor=#FFFFFF
MouseLTFont=Georgia; 8pt
MouseLTHeight=14
MouseLTWidth=26
MouseLTPositionX=8
MouseLTPositionY=0
CaretLTForeColor=#000000
CaretLTBackColor=#FFFFFF
MouseLTTransparentBackColor=True
CaretLTTransparentBackColor=False
CaretLTFont=Georgia; 8pt
CaretLTHeight=14
CaretLTWidth=26
CaretLTPositionX=8
CaretLTPositionY=12
MCDS_Pos_X=58
MCDS_Pos_Y=13
MCDS_Top=60
MCDS_Bottom=45
MouseLTUseFlags=True
CaretLTUseFlags=True
Layout1LTText=
Layout2LTText=
MouseLTUpperArrow=True
CaretLTUpperArrow=True
WindowsMessages=True
[Timings]
UsePasteInCS=False
ExcludeCaretLD=false
ConvertSWLinExcl=False
DelayAfterBackspaces=100
UseDelayAfterBackspaces=False
LangTooltipForMouseRefreshRate=25
LangTooltipForCaretRefreshRate=25
DoubleHotkey2ndPressWait=350
FlagsInTrayRefreshRate=100
ScrollLockStateRefreshRate=100
CapsLockDisableRefreshRate=100
SelectedTextGetMoreTries=False
SelectedTextGetMoreTriesCount=5
ExcludedPrograms=LA.exe SomeProg.exe
ChangeLayoutInExcluded=False
LangTooltipForMouseSkipMessages=5
[Snippets]
SnippetsEnabled=False
SpaceAfter=False
SwitchToGuessLayout=False
SnippetExpandKey=Space
[AutoSwitch]
Enabled=False
SpaceAfter=True
SwitchToGuessLayout=True
DownloadInZip=True
[Hotkeys]
ShowCMenuUnderMouse_Mods=
SelectedTextToCustomConv_Mods=
SelectedTextToCustomConv_Enabled=False
SelectedTextToCustomConv_Double=False
SelectedTextToCustomConv_Modifiers=
SelectedTextToCustomConv_Key=0
CycleCase_Enabled=False
CycleCase_Double=False
CycleCase_Modifiers=Shift
CycleCase_Key=114
ShowCMenuUnderMouse_Enabled=False
ShowCMenuUnderMouse_Double=False
ShowCMenuUnderMouse_Modifiers=
ShowCMenuUnderMouse_Key=0
ToggleMainWindow_Enabled=True
ToggleMainWindow_Double=False
ToggleMainWindow_Modifiers=Win + Control + Shift + Alt
ToggleMainWindow_Key=45
ConvertLastWord_Enabled=True
ConvertLastWord_Double=False
ConvertLastWord_Modifiers=
ConvertLastWord_Key=19
ConvertSelectedText_Enabled=True
ConvertSelectedText_Double=False
ConvertSelectedText_Modifiers=
ConvertSelectedText_Key=145
ConvertLastLine_Enabled=True
ConvertLastLine_Double=False
ConvertLastLine_Modifiers=Shift
ConvertLastLine_Key=19
ConvertLastWords_Enabled=True
ConvertLastWords_Double=False
ConvertLastWords_Modifiers=Shift
ConvertLastWords_Key=122
ToggleSymbolIgnoreMode_Enabled=True
ToggleSymbolIgnoreMode_Double=False
ToggleSymbolIgnoreMode_Modifiers=Shift + Control
ToggleSymbolIgnoreMode_Key=122
SelectedTextToTitleCase_Enabled=False
SelectedTextToTitleCase_Double=True
SelectedTextToTitleCase_Modifiers=Shift
SelectedTextToTitleCase_Key=0
SelectedTextToRandomCase_Enabled=False
SelectedTextToRandomCase_Double=True
SelectedTextToRandomCase_Modifiers=Alt
SelectedTextToRandomCase_Key=0
SelectedTextToSwapCase_Enabled=False
SelectedTextToSwapCase_Double=False
SelectedTextToSwapCase_Modifiers=Win + 
SelectedTextToSwapCase_Key=190
SelectedTextTransliteration_Enabled=False
SelectedTextTransliteration_Double=False
SelectedTextTransliteration_Modifiers=Win + 
SelectedTextTransliteration_Key=191
SelectedToUpper_Enabled=False
SelectedToUpper_Double=False
SelectedToUpper_Modifiers=Win + 
SelectedToUpper_Key=90
SelectedToLower_Enabled=False
SelectedToLower_Double=False
SelectedToLower_Modifiers=Win + 
SelectedToLower_Key=88
ExitMahou_Enabled=True
ExitMahou_Double=False
ExitMahou_Modifiers=Win + Control + Shift + Alt
ExitMahou_Key=123
RestartMahou_Enabled=True
RestartMahou_Modifiers=Win + Shift + Alt
RestartMahou_Key=33
ToggleLangPanel_Enabled=True
ToggleLangPanel_Double=False
ToggleLangPanel_Modifiers=Shift
ToggleLangPanel_Key=120
ShowSelectionTranslate_Enabled=False
ShowSelectionTranslate_Double=True
ShowSelectionTranslate_Modifiers=Alt
ShowSelectionTranslate_Key=0
ToggleMahou_Enabled=True
ToggleMahou_Double=False
ToggleMahou_Modifiers=Win Shift
ToggleMahou_Key=112
[LangPanel]
Display=False
Transparency=90
RefreshRate=25
Position=X0 Y0
ForeColor=#000000
BackColor=#FFFFFF
Font=Microsoft Sans Serif; 8,25pt
BorderColor=#8B5FFF
BorderAeroColor=True
UpperArrow=True
[Updates]
Delay=5
Channel=LatestCommit(Beta)
LatestCommit=b90217b
[Sounds]
CustomSound2=
UseCustomSound2=False
OnLayoutSwitch2=True
OnConvertLast2=False
OnSnippets2=True
OnAutoSwitch2=False
CustomSound=
UseCustomSound=False
OnLayoutSwitch=False
OnConvertLast=True
OnSnippets=False
OnAutoSwitch=True
Enabled=False
[TranslatePanel]
Transcription=False
UseNA=True
UseGS=False
LanguageSets=set_1/auto/ru|set_2/auto/en
BG=#FFFFFF
BorderC=#F1F100
FG=#8B5FFF
Transparency=90
BorderAero=False
OnDoubleClick=False
Enabled=False
TitleFont=Segoe UI; 12pt
TextFont=Microsoft Sans Serif; 8,25pt
[Sync]
BLast=
RLast=
RBools=1|1|1|1|0|0
BBools=0|1|0|0|0|0


</details>
</details>
</details>

## Приложите журналы (logs) (если логирование было включено)

Приложите журнал со дня, когда проблема случилась, из папки **Logs**.

HYBRID-BEING avatar Nov 08 '20 21:11 HYBRID-BEING

Ну в таком случае можно попробовать убрать "Использовать Сообщения Windows вместо таймеров." во вкладке "Вид", применить и настроить "Тайминги" как нужно, если необходимо.

BladeMight avatar Nov 08 '20 22:11 BladeMight

Убрал опцию, поигрался с таймингами (ставил 1 и 1000) - "залипание" стрелки воспроизводится всё равно.

HYBRID-BEING avatar Nov 08 '20 22:11 HYBRID-BEING

@HYBRID-BEING Исправил в 0c217ed

BladeMight avatar Nov 08 '20 23:11 BladeMight

  1. Стрелка на каретке работает корректно. Стрелка на курсоре обновляется только если курсор наведён на текст (отображается подсказка). Если вкл/выкл Caps Lock, когда курсор не наведён на текст, то при последующем наведении на текст будет отбражаться предыдущее состояние. На рисунке курсор справа: изображение
  2. "Залипание" всё ещё не исправлено. При включённом Caps Lock также воспроизводится (стрелка исчезает, при включённом Caps Lock). Кроме того, если стрелка "залипла" (в любом состоянии), нажатие на Caps Lock инвертирует индикатор.

HYBRID-BEING avatar Nov 08 '20 23:11 HYBRID-BEING

У меня больше не воспроизводится: Uppercase (Сначала я просто включил Caps, потом попробовал Нажать Shift при включенном Caps, а потом наоборот)

BladeMight avatar Nov 08 '20 23:11 BladeMight

Инвертирование больше не воспроизводится, а вот "залипание" иногда происходит. Потестировал ещё и у меня получается это воспроизвести при следующих действиях:

  1. Зажимаю Ctrl+Shift (или Alt+Shift);
  2. Отпускаю Ctrl (или Alt);
  3. Затем отпускаю Shift.

Если задержка между 2 и 3 большая баг не происходит. Если короткая - не всегда, но воспроизводится (не могу точно сказать, связанно ли это с обновлением флага/подсказки). Ещё раз попробовал поменять тайминги - и честно говоря не заметил, чтоб они вообще влияли на скорость обновления флага. Что 2с, что 100мс, разницы не увидел. Флажки "Только при смене." и "Всегда." сняты.

В ближайшее время попробую заснять экран с клавишами.

UPD: @BladeMight На GIF я пару раз воспроизвожу "залипание" стрелки, после залипания нажимаю 3 раза Caps Lock, снова воспроизвожу "залипание" стрелки (она исчезает при включённом Caps Lock), и, в конце, отвожу курсор от текстового поля и нажимаю Caps Lock. mahou

HYBRID-BEING avatar Nov 11 '20 16:11 HYBRID-BEING