Obsługa dead keys przy pomocy ToUnicode(Ex) w hooku na klawiaturę

0

Ok, ponawiam temat. A więc, potrzebuje rozpoznawać wpisywane znaki, gdyby był to polski czy angielski to pół biedy ale potrzebuję rozpoznawać takie języki jak francuski a tam występują tak zwane "dead keys". Jak je prawidłowo odsłużyć, od 24h szukam jakieś dokumentacji na ten temat i bieda nic nie mogę znaleźć. Znalazłem jedynie jakieś source: https://github.com/lontivero/Open.WinKeyboardHook/blob/master/KeyboardInterceptor.cs#L191, ale nie lubię wierzyć na słowo, dlatego ponawiam pytanie jak prawidłowo obsługiwać dead keys w keyboard hook przy pomocy funkcji ToUnicode/ToUnicodeEx?

0

Chyba chcesz żeby moderator znowu ci temat wyrzucił do kosza.
Zdecyduj się na konkretny język, i pokaż kod co już zrobiłeś - a co ci w nim nie działa (jaki jest efekt a jaki być powinien).

Jak dasz coś, co inny forumowicz będzie mógł (niewielkim wysiłkiem!) skopiować, skompilować, sprawdzić - wtedy masz szansę na otrzymanie jakiejś pomocy.

Bo póki co, to można najwyżej ci podać link do oficjalnej dokumentacji.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646320%28v=vs.85%29.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646322%28v=vs.85%29.aspx

0

Wy tak na serio? Nawet Ty @Azarien? Też się bierzecie za pisanie czegokolwiek zanim przeanalizujecie problem?

A więc, żeby nie było wątpliwości napiszę od A do Z co i jak. Mam napisać aplikację, w której jeden z modułów ma rozpoznawać wpisywany tekst i potem go synchronizować z chmurą, dobra dobra, ale apka będzie między innymi na francuskim rynku a tam są tak zwane dead keys. Nie napisałem jeszcze żadnej linijki w module, który jest za to odpowiedzialny, przetestowałem jedynie source które wstawiłem w linku, żeby zobaczyć co się z czym je, poczytałem trochę o dead keys, ale nigdzie nie mogę znaleźć dokumentacji na temat jak je prawidłowo obsługiwać, temu napisałem temat na ten temat... temu dałem teg WinAPI, bo język to tylko narzędziem (dam sobie nawet radę gdyby to był jakiś z któryś nie korzystam). Skoro nie napisałem ani linijki to nie mam co pokazać, po prostu pytam czy ktoś wie jak to prawidłowo zrobić, jakaś dokumentacja, sprawdzone source, cokolwiek ludzie...

3

żeby zobaczyć co się z czym je, poczytałem trochę o dead keys, ale nigdzie nie mogę znaleźć dokumentacji na temat jak je prawidłowo obsługiwać, temu napisałem temat na ten temat...

A czy chociaż przetestowałeś ten kod który masz, i faktycznie działa źle na martwych klawiszach?
bo coś mi się widzi, że wymyśliłeś sobie problem którego jeszcze nawet nie masz.

będziesz miał moduł - działający poprawnie z wyjątkiem tych martwych klawiszy - to wtedy będziesz się martwił.

Nie musisz instalować francuskiej klawiatury. W klawiaturze "polskiej programisty" martwym klawiszem jest tylda ~, czyli shift+backtick.
Pierwsze wpisanie ~ nic nie wyświetla. Wpisanie w tym momencie litery np. a powoduje wypisanie ą. Żeby otrzymać tyldę, trzeba nacisnąć spację, albo tyldę jeszcze raz. To jest właśnie martwy klawisz.

Zachowanie ToUnicode na martwych klawiszach jest opisane na stronie do której link podałem.

Najprawdopodobniej nie musisz nic szczególnego robić, a problem jest wydumany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1