View Issue Details

IDProjectCategoryView StatusLast Update
0002397Far ManagerKeyboardpublic2013-12-09 08:10
Reporterxarx Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Platformx64OSWindows 
Product Version3.0 
Summary0002397: Wrong keycodes for CtrlAlt[ etc.
DescriptionWhen I press Ctrl[,CtrlShift[,CtrlAlt[,CtrlAltShift[,Alt[,AltShift[, Far3 says that I had pressed CtrlF,CtrlShiftF,CtrlAltF,CtrlAltShiftF,AltF,AltShiftF respectively. But the key [ alone is recognized correctly.

This happens both for the English and my national keyboard.

Steps To ReproduceE.g. by defining a new macro:

Ctrl. Ctrl. CtrlAlt[
Additional InformationThe following sequence of pluginapi.cpp functions should return at the end the same key-name with which it started:

  BOOL WINAPI apiKeyNameToInputRecord(const wchar_t *Name,INPUT_RECORD* RecKey)
  size_t WINAPI apiInputRecordToKeyName(const INPUT_RECORD* Key, wchar_t *KeyText, size_t Size)
  _ASSERTE(lstrcmpi(Name, KeyText)==0)

but for the above mentioned key combinations it doesn't.

I have traced the problem a little in the debugger. The problem is caused by keyboard.cpp (in Far3 sources). The following functions (called in apiKeyNameToInputRecord and apiInputRecordToKeyName) make the following value transformations:

  KeyNameToKey: CtrlAlt[ -> 0x0300005b
  KeyToInputRecord: 0x0300005b -> wVirtualKeyCodе==0x46
  but the other way round, InputRecordToKey: -> 0x03000046

It's interesting that for [ alone, the transformations are:

  KeyNameToKey: CtrlAlt[ -> 0x0000005b
  KeyToInputRecord: 0x0000005b -> wVirtualKeyCodе==0x46 //only dwControlKeyState is 0 now
  InputRecordToKey: -> 0x0000005b

TagsNo tags attached.
Build

Relationships

related to 0002110 new В DN_CONTROLINPUT InputRecord не соответствует нажатой клавише 
related to 0002259 new Recorded macro does not play back on some keys (german Keyboard) 
related to 0002275 new Неверное определение сочетаний клавиш Alt+~/Ctrl+~ в японской раскладке 
related to 0001832 assignedvskirdin Проблема FarNameToInputRecord / FarInputRecordToName 
related to 0002109 new InputRecordToName формирует неправильные названия клавиш. 

Activities

xarx

2013-04-25 14:58

reporter   bugnote:0010896

Last edited: 2013-04-25 14:59

View 2 revisions

http://forum.farmanager.com/viewtopic.php?f=9&t=7935

Therein are mentioned related bugs
http://bugs.farmanager.com/view.php?id=2259
http://bugs.farmanager.com/view.php?id=2275

vskirdin

2013-12-09 08:10

administrator   bugnote:0011582

This report is still relevant?

Issue History

Date Modified Username Field Change
2013-04-25 14:55 xarx New Issue
2013-04-25 14:58 xarx Note Added: 0010896
2013-04-25 14:59 xarx Note Edited: 0010896 View Revisions
2013-04-25 21:26 shmuel Relationship added related to 0002110
2013-04-25 21:26 shmuel Relationship added related to 0002259
2013-04-25 21:27 shmuel Relationship added related to 0002275
2013-04-25 21:53 2useven10 Relationship added related to 0001832
2013-04-25 21:58 2useven10 Relationship added related to 0002109
2013-12-09 08:10 vskirdin Note Added: 0011582