View Issue Details

IDProjectCategoryView StatusLast Update
0000478OpenMPTUser Interfacepublic2016-11-13 18:09
ReporterFler0301 Assigned ToSaga Musix  
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx64OSWindowsOS Version8.1
Product VersionOpenMPT 1.22.07.* (old testing) 
Target VersionOpenMPT 1.23.01.00 (upgrade first)Fixed in VersionOpenMPT 1.23.01.00 (upgrade first) 
Summary0000478: Data entry in effects column does not work under Russian (maybe others) keyboard layout
Description

If you run OpenMPT with Russian keyboard layout, it will be not possible to enter any data in "effects" column in Pattern editor - tracker will be not response on any of bottom pressing. But in "volume" or in "note" columns all works correctly on any keyboard layouts. Even if you change keyboard layout to English after tracker is starts, it will be still not possible to type any data in "effect" column.
Also, if you change keyboard layout to Russian during OpenMPT is working and then change active window to another application and then return to tracker window, the similar problem will be occured.

Steps To Reproduce
  • Change keyboard layout to Russian
  • Run OpenMPT
  • Create new or open existing module
  • Go to Pattern editor
  • Set cursor to effects column
  • Try to type any effect
Additional Information

After this issue is happened, it is only one fast way to fix effects column data entering - change active window to another application and then return to tracker window.
I have no information about this issue with other keyboard layouts except Russian.

TagsNo tags attached.
Has the bug occurred in previous versions?yes
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2014-01-24 14:25

administrator   ~0001474

OpenMPT works with virtual scan codes and not hardware scan codes, and I suspect that changing your layout to cyrillic mode will result in OpenMPT receiving completely different scan codes. I guess I can try responding to WM_INPUTLANGCHANGEREQUEST messages and refresh the keyboard layout whenever such a request is sent.

Saga Musix

Saga Musix

2014-01-25 16:36

administrator   ~0001475

Last edited: 2014-01-25 16:37

Alright, this boils down to OpenMPT still receiving the same scan codes, but they translate into different (cyrillic) characters if the current key map says so.
I've modified the code so that it also scans the second installed keyboard layout for effect letters A-Z if it can't find them in the current layout. It seems to work for me when adding a Russian keyboard layout here, so please check if it works as intended for you: http://sagagames.de/stuff/mptrack.exe

You will still have to focus a different song window or a non-OpenMPT window after switching, though, as the WM_INPUTLANGCHANGEREQUEST layout change notifications seem to be kinda broken since Windows XP and the replacement stuff is hardly documented.

Fler0301

Fler0301

2014-01-27 09:00

reporter   ~0001476

Yeah, it works correctly for me now! Thank you very much, Saga Musix!!!

Saga Musix

Saga Musix

2016-11-13 18:04

administrator   ~0002734

Last edited: 2016-11-13 18:09

Hey Fler0301, are you still around? I introduced some changes to how OpenMPT treats some parts of its keyboard layout and I need someone with Cyrillic+Latin keyboard maps to verify that it works as intended.
Preferrably, answer in this thread here to keep things centralized: https://forum.openmpt.org/index.php?topic=3286.msg43751#msg43751

Issue History

Date Modified Username Field Change
2014-01-24 14:22 Fler0301 New Issue
2014-01-24 14:25 Saga Musix Note Added: 0001474
2014-01-25 16:33 Saga Musix Assigned To => Saga Musix
2014-01-25 16:33 Saga Musix Status new => assigned
2014-01-25 16:36 Saga Musix Note Added: 0001475
2014-01-25 16:36 Saga Musix Status assigned => feedback
2014-01-25 16:37 Saga Musix Note Edited: 0001475
2014-01-27 09:00 Fler0301 Note Added: 0001476
2014-01-27 09:00 Fler0301 Status feedback => assigned
2014-01-27 10:12 Saga Musix Status assigned => resolved
2014-01-27 10:12 Saga Musix Resolution open => fixed
2014-01-27 10:12 Saga Musix Fixed in Version => OpenMPT 1.23.01.00 (upgrade first)
2014-01-27 10:12 Saga Musix Target Version => OpenMPT 1.23.01.00 (upgrade first)
2016-11-13 18:04 Saga Musix Note Added: 0002734
2016-11-13 18:09 Saga Musix Note Edited: 0002734