ConEmu / old-issues

Old issues for ConEmu project (import is pending)
http://conemu.github.io/
0 stars 1 forks source link

conemu and fantom language #944

Open ConEmu opened 9 years ago

ConEmu commented 9 years ago

From switch...@gmail.com on February 17, 2013 00:17:53

Required information! OS version: Win8x64 ConEmu version: 130212 Far version (if you are using Far Manager): Far3 Bug description http://www.644634.com/conemu.htm on conemu start input method swithing to nonpresent language.

Original issue: http://code.google.com/p/conemu-maximus5/issues/detail?id=944

ConEmu commented 9 years ago

From ConEmu.M...@gmail.com on February 17, 2013 00:42:15

Run "ConEmu64.exe /log2", ensure that problem wsas reproduced, attach here created logs.

ConEmu commented 9 years ago

From ConEmu.M...@gmail.com on March 21, 2013 15:44:13

So, can you create logs?

ConEmu commented 9 years ago

From rusoexp...@gmail.com on March 21, 2013 20:11:41

Хм, я же написал письмо с объяснением в чём проблема и как я это дело пофиксал )))

-------- Original Message -------- Subject: Re: Issue 944 in conemu-maximus5: conemu and fantom language Date: Wed, 20 Feb 2013 16:38:35 -0300 From: Alexéy Sudachén alexey@sudachen.name To: conemu-maximus5@googlecode.com

On 17.02.2013 5:42, conemu-maximus5@googlecode.com wrote:

Comment #1 on issue #944 by ConEmu .M...@gmail.com: conemu and fantom language https://code.google.com/p/conemu-maximus5/issues/detail?id=944 > Run "ConEmu64.exe /log2", ensure that problem wsas reproduced, attach here created logs.

Привет. Судя по комментам в коде всем будет удобнее по русски.

В общем я нашёл в чём причина. Та расскладка что у меня стоит это латиноамериканская для английского языка - 0x008a0409. В софтину приходит 0x8a, что наверное логично. Дальше софтина такую раскладку не находит и выставляет её директом, что приводит к магическому появлению испанского языка.

У себя я это пофиксал так

 // Если не нашли, и это "классическая" раскладка, в которой ид 

раскладки совпадает с языком if (!lbFound && ((dwLayoutName & 0xFFFF) == dwLayoutName)) { ..... }

 // Если не нашли, может быть это альтернативная раскладка
 if (!lbFound && ((dwLayoutName & 0xFFFF) == dwLayoutName))
 {
     DWORD_PTR dwTest = (dwNewKeybLayout \<< 16);

     for(i = 0; !lbFound && i \< nCount; i++)
     {
         if ( (((DWORD_PTR)hKeyb[i]) & 0x0ffff000) == dwTest)
         {
             lbFound = TRUE;
             dwNewKeybLayout = (DWORD_PTR)hKeyb[i];
             break;
         }
     }
 }

Но не факт что это концептуально правильно.

З.Ы.

Спасибо за софтину.

ConEmu commented 9 years ago

From ConEmu.M...@gmail.com on March 21, 2013 21:29:38

Хм. Тут коммента нет, в личке тоже не помню. Странно.

ConEmu commented 9 years ago

From ConEmu.M...@gmail.com on April 22, 2013 00:05:38

Проверьте, все ли хорошо в 130421