Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Robert, new GraphicsWindowX11.cpp work fine, Thanks for the fix! Maxim Gammer 2009/6/2 Maxim Gammer maxgam...@gmail.com: Hi Robert, i test new GraphicsWindowX11.cpp . 2009/6/2 Melchior FRANZ melchior.fr...@gmail.com: * Melchior FRANZ -- Monday 01 June 2009: My keyboard doesn't have a keypad, so I can only test the other keys. ... but everything else worked. And we'll soon find out if there are still keypad problems. The current solution is already infinitely better than what is in SVN/HEAD, so I'd commit. Thanks for the fix! m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Maxim, On Tue, Jun 2, 2009 at 10:52 AM, Maxim Gammer maxgam...@gmail.com wrote: new GraphicsWindowX11.cpp work fine, That's great to hear, finally we've got it working across locales. I've checked cleaned up version of these changes into the OSG-2.8 branch and svn/trunk. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
* Robert Osfield -- Monday 01 June 2009: Clearly it's not [now] badly broken so we'll have to find another route. I do some investigation at my end. Here's how to deal with it (once SVN is up again :-): $ svn diff -r10268:10269|patch -p0 -R Now the question is: what's up with russian keyboards? Are we really to assume that X can't handle them, unlike any other layout? We were using XLookupString(), and that should do the right thing for any keyboard, no? Could Maxim's problem stem from a local misconfiguration at his machine? Any other Russian users out there who could shed a light on the issue? Maybe GraphicsWindowX11cpp should only change it's former (right) behaviour if a key returns 0, as it was in Maxim's case? (0 is a valid value, though. You get it with Ctrl-Space.) m ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Maximum, On Mon, Jun 1, 2009 at 1:06 PM, Maxim Gammer maxgam...@gmail.com wrote: modified GraphicsWindowX11.cpp not work fine ((( Could you post the command line output that it generates, and this might give us a bit more a clue why your system things go wrong, but on the majority of other systems things work fine. Could you also provide some information about your keyboard type and how you've gone about setting the locale? Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
* Robert Osfield -- Monday 01 June 2009: I've refactored the adaptKey method to use XLookupString in a bit more thorough way to than it did before, it ensures that osgkeyboard works fine on my Linux box with UK keyboard. Could you try this? Umm ... did you try osgkeyboard this time? This patch swallows Backspace. Frankly, I find all these recent keyboard hacks rather worrying. I'd really like Maxim to provide more info about the problem first (as you suggested in your last post). Better let the keyboard as it was for now. This could be a broken X server on his side (devel version or something), or a broken setup or whatever. I can't believe that he's the only one with a russian keyboard. Looks like everyone elses works just fine. m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Melchior, On Mon, Jun 1, 2009 at 2:01 PM, Melchior FRANZ melchior.fr...@gmail.com wrote: * Robert Osfield -- Monday 01 June 2009: I've refactored the adaptKey method to use XLookupString in a bit more thorough way to than it did before, it ensures that osgkeyboard works fine on my Linux box with UK keyboard. Could you try this? Umm ... did you try osgkeyboard this time? Yes. This patch swallows Backspace. I missed this one. Delete was also not working. Could you try the attached GraphicsWindowX11.cpp. Frankly, I find all these recent keyboard hacks rather worrying. I'd really like Maxim to provide more info about the problem first (as you suggested in your last post). Better let the keyboard as it was for now. This could be a broken X server on his side (devel version or something), or a broken setup or whatever. I can't believe that he's the only one with a russian keyboard. Looks like everyone elses works just fine. It's extremely frustrating for me to have a regression slip through. I have requested more info from Maxim about exactly what is happening at his end. Feedback from others with Russian keyboards would also be useful. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Maxim, Thanks for the test results. With the Russian keyboard/locale could do send us the results of 'ABCD' and then 'abcd' Robert. On Mon, Jun 1, 2009 at 3:06 PM, Maxim Gammer maxgam...@gmail.com wrote: hi, set OSG_NOTIFY_LEVEL=INFO I press ABCD (Russian) ABCD (USA) keyevent.keycode = 38, KeySym1734, keySymbol34001 numChars = 2,209, 132 keySymbol = 34001 keyevent.keycode = 38, KeySym1734, keySymbol34001 numChars = 2,209, 132 keySymbol = 34001 keyevent.keycode = 56, KeySym1737, keySymbol47312 numChars = 2,208, 184 keySymbol = 47312 keyevent.keycode = 56, KeySym1737, keySymbol47312 numChars = 2,208, 184 keySymbol = 47312 keyevent.keycode = 54, KeySym1747, keySymbol33233 numChars = 2,209, 129 keySymbol = 33233 keyevent.keycode = 54, KeySym1747, keySymbol33233 numChars = 2,209, 129 keySymbol = 33233 keyevent.keycode = 40, KeySym1751, keySymbol45776 numChars = 2,208, 178 keySymbol = 45776 keyevent.keycode = 40, KeySym1751, keySymbol45776 numChars = 2,208, 178 keySymbol = 45776 keyevent.keycode = 37, KeySym65507, keySymbol65507 numChars = 0,0, 41 keySymbol = 65507 keyevent.keycode = 50, KeySym65034, keySymbol65034 numChars = 0,0, 41 keySymbol = 65034 keyevent.keycode = 50, KeySym65034, keySymbol65034 numChars = 0,0, 41 keySymbol = 65034 keyevent.keycode = 37, KeySym65507, keySymbol65507 numChars = 0,0, 41 keySymbol = 65507 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 76, KeySym65479, keySymbol65479 numChars = 0,0, 41 keySymbol = 65479 Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Robert, OK, abcd (USA), ABCD (USA), abcd (Russian), ABCD (Russian) . keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 38, KeySym65, keySymbol65 numChars = 1,65, 0 keySymbol = 65 keyevent.keycode = 38, KeySym65, keySymbol65 numChars = 1,65, 0 keySymbol = 65 keyevent.keycode = 56, KeySym66, keySymbol66 numChars = 1,66, 0 keySymbol = 66 keyevent.keycode = 56, KeySym66, keySymbol66 numChars = 1,66, 0 keySymbol = 66 keyevent.keycode = 56, KeySym66, keySymbol66 numChars = 1,66, 0 keySymbol = 66 keyevent.keycode = 54, KeySym67, keySymbol67 numChars = 1,67, 0 keySymbol = 67 keyevent.keycode = 54, KeySym67, keySymbol67 numChars = 1,67, 0 keySymbol = 67 keyevent.keycode = 40, KeySym68, keySymbol68 numChars = 1,68, 0 keySymbol = 68 keyevent.keycode = 40, KeySym68, keySymbol68 numChars = 1,68, 0 keySymbol = 68 keyevent.keycode = 40, KeySym68, keySymbol68 numChars = 1,68, 0 keySymbol = 68 keyevent.keycode = 37, KeySym65507, keySymbol65507 numChars = 0,0, 39 keySymbol = 65507 keyevent.keycode = 50, KeySym65034, keySymbol65034 numChars = 0,0, 39 keySymbol = 65034 keyevent.keycode = 37, KeySym65507, keySymbol65507 numChars = 0,0, 39 keySymbol = 65507 keyevent.keycode = 50, KeySym65505, keySymbol65505 numChars = 0,0, 39 keySymbol = 65505 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 38, KeySym1734, keySymbol1734 numChars = 0,0, 39 keySymbol = 1734 keyevent.keycode = 38, KeySym1734, keySymbol1734 numChars = 0,0, 39 keySymbol = 1734 keyevent.keycode = 38, KeySym1734, keySymbol1734 numChars = 0,0, 39 keySymbol = 1734 keyevent.keycode = 38, KeySym1734, keySymbol1734 numChars = 0,0, 39 keySymbol = 1734 keyevent.keycode = 56, KeySym1737, keySymbol1737 numChars = 0,0, 39 keySymbol = 1737 keyevent.keycode = 56, KeySym1737, keySymbol1737 numChars = 0,0, 39 keySymbol = 1737 keyevent.keycode = 56, KeySym1737, keySymbol1737 numChars = 0,0, 39 keySymbol = 1737 keyevent.keycode = 54, KeySym1747, keySymbol1747 numChars = 0,0, 39 keySymbol = 1747 keyevent.keycode = 54, KeySym1747, keySymbol1747 numChars = 0,0, 39 keySymbol = 1747 keyevent.keycode = 40, KeySym1751, keySymbol1751 numChars = 0,0, 39 keySymbol = 1751 keyevent.keycode = 40, KeySym1751, keySymbol1751 numChars = 0,0, 39 keySymbol = 1751 keyevent.keycode = 40, KeySym1751, keySymbol1751 numChars = 0,0, 39 keySymbol = 1751 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 38, KeySym1766, keySymbol1766 numChars = 0,0, 39 keySymbol = 1766 keyevent.keycode = 38, KeySym1766, keySymbol1766 numChars = 0,0, 39 keySymbol = 1766 keyevent.keycode = 56, KeySym1769, keySymbol1769 numChars = 0,0, 39 keySymbol = 1769 keyevent.keycode = 56, KeySym1769, keySymbol1769 numChars = 0,0, 39 keySymbol = 1769 keyevent.keycode = 54, KeySym1779, keySymbol1779 numChars = 0,0, 39 keySymbol = 1779 keyevent.keycode = 54, KeySym1779, keySymbol1779 numChars = 0,0, 39 keySymbol = 1779 keyevent.keycode = 40, KeySym1783, keySymbol1783 numChars = 0,0, 39 keySymbol = 1783
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Yes, work fine ) 2009/6/1 Melchior FRANZ melchior.fr...@gmail.com: Seems to work OK here. m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
HI Maxim, I'm afraid what you've sent is rather difficult to follow and seemingly inconsitent with your previous post. Could you post the results in sections with a heading of what follows. In searching the web on XLookupString and Russian I came across the little test application xev that outputs the keyboard symbol and XLookupString results, could you have a look at what results you get for the Russian vs USA with this. Thanks, Robert. On Mon, Jun 1, 2009 at 3:35 PM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, OK, abcd (USA), ABCD (USA), abcd (Russian), ABCD (Russian) . keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 38, KeySym65, keySymbol65 numChars = 1,65, 0 keySymbol = 65 keyevent.keycode = 38, KeySym65, keySymbol65 numChars = 1,65, 0 keySymbol = 65 keyevent.keycode = 56, KeySym66, keySymbol66 numChars = 1,66, 0 keySymbol = 66 keyevent.keycode = 56, KeySym66, keySymbol66 numChars = 1,66, 0 keySymbol = 66 keyevent.keycode = 56, KeySym66, keySymbol66 numChars = 1,66, 0 keySymbol = 66 keyevent.keycode = 54, KeySym67, keySymbol67 numChars = 1,67, 0 keySymbol = 67 keyevent.keycode = 54, KeySym67, keySymbol67 numChars = 1,67, 0 keySymbol = 67 keyevent.keycode = 40, KeySym68, keySymbol68 numChars = 1,68, 0 keySymbol = 68 keyevent.keycode = 40, KeySym68, keySymbol68 numChars = 1,68, 0 keySymbol = 68 keyevent.keycode = 40, KeySym68, keySymbol68 numChars = 1,68, 0 keySymbol = 68 keyevent.keycode = 37, KeySym65507, keySymbol65507 numChars = 0,0, 39 keySymbol = 65507 keyevent.keycode = 50, KeySym65034, keySymbol65034 numChars = 0,0, 39 keySymbol = 65034 keyevent.keycode = 37, KeySym65507, keySymbol65507 numChars = 0,0, 39 keySymbol = 65507 keyevent.keycode = 50, KeySym65505, keySymbol65505 numChars = 0,0, 39 keySymbol = 65505 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 38, KeySym1734, keySymbol1734 numChars = 0,0, 39 keySymbol = 1734 keyevent.keycode = 38, KeySym1734, keySymbol1734 numChars = 0,0, 39 keySymbol = 1734 keyevent.keycode = 38, KeySym1734, keySymbol1734 numChars = 0,0, 39 keySymbol = 1734 keyevent.keycode = 38, KeySym1734, keySymbol1734 numChars = 0,0, 39 keySymbol = 1734 keyevent.keycode = 56, KeySym1737, keySymbol1737 numChars = 0,0, 39 keySymbol = 1737 keyevent.keycode = 56, KeySym1737, keySymbol1737 numChars = 0,0, 39 keySymbol = 1737 keyevent.keycode = 56, KeySym1737, keySymbol1737 numChars = 0,0, 39 keySymbol = 1737 keyevent.keycode = 54, KeySym1747, keySymbol1747 numChars = 0,0, 39 keySymbol = 1747 keyevent.keycode = 54, KeySym1747, keySymbol1747 numChars = 0,0, 39 keySymbol = 1747 keyevent.keycode = 40, KeySym1751, keySymbol1751 numChars = 0,0, 39 keySymbol = 1751 keyevent.keycode = 40, KeySym1751, keySymbol1751 numChars = 0,0, 39 keySymbol = 1751 keyevent.keycode = 40, KeySym1751, keySymbol1751 numChars = 0,0, 39 keySymbol = 1751 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Melchior, On Mon, Jun 1, 2009 at 3:14 PM, Melchior FRANZ melchior.fr...@gmail.com wrote: Seems to work OK here. Thanks for the testing. Once we get a combination that works OK for standard usage and the Russian case I'll patch both svn/trunk and OSG-2.8 branch. Unfortunately this regression made it into 2.8.1 so it looks like we may well have to make a 2.8.2 in the not too distant future. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi, Robert ...xev result for abcd (Russian): KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3487419, (68,-21), root:(764,750), state 0x2010, keycode 38 (keysym 0x6c6, Cyrillic_ef), same_screen YES, XLookupString gives 2 bytes: (d1 84) ф XmbLookupString gives 2 bytes: (d1 84) ф XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3487518, (68,-21), root:(764,750), state 0x2010, keycode 38 (keysym 0x6c6, Cyrillic_ef), same_screen YES, XLookupString gives 2 bytes: (d1 84) ф XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3489948, (68,-21), root:(764,750), state 0x2010, keycode 56 (keysym 0x6c9, Cyrillic_i), same_screen YES, XLookupString gives 2 bytes: (d0 b8) и XmbLookupString gives 2 bytes: (d0 b8) и XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490056, (68,-21), root:(764,750), state 0x2010, keycode 56 (keysym 0x6c9, Cyrillic_i), same_screen YES, XLookupString gives 2 bytes: (d0 b8) и XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490683, (68,-21), root:(764,750), state 0x2010, keycode 54 (keysym 0x6d3, Cyrillic_es), same_screen YES, XLookupString gives 2 bytes: (d1 81) с XmbLookupString gives 2 bytes: (d1 81) с XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490804, (68,-21), root:(764,750), state 0x2010, keycode 54 (keysym 0x6d3, Cyrillic_es), same_screen YES, XLookupString gives 2 bytes: (d1 81) с XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3491437, (68,-21), root:(764,750), state 0x2010, keycode 40 (keysym 0x6d7, Cyrillic_ve), same_screen YES, XLookupString gives 2 bytes: (d0 b2) в XmbLookupString gives 2 bytes: (d0 b2) в XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3491551, (68,-21), root:(764,750), state 0x2010, keycode 40 (keysym 0x6d7, Cyrillic_ve), same_screen YES, XLookupString gives 2 bytes: (d0 b2) в XFilterEvent returns: False 2009/6/1 Robert Osfield robert.osfi...@gmail.com: HI Maxim, I'm afraid what you've sent is rather difficult to follow and seemingly inconsitent with your previous post. Could you post the results in sections with a heading of what follows. In searching the web on XLookupString and Russian I came across the little test application xev that outputs the keyboard symbol and XLookupString results, could you have a look at what results you get for the Russian vs USA with this. Thanks, Robert. On Mon, Jun 1, 2009 at 3:35 PM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, OK, abcd (USA), ABCD (USA), abcd (Russian), ABCD (Russian) . keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 38, KeySym65, keySymbol65 numChars = 1,65, 0 keySymbol = 65 keyevent.keycode = 38, KeySym65, keySymbol65 numChars = 1,65, 0 keySymbol = 65 keyevent.keycode = 56,
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
...xev result for abcd (USA): KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3617200, (-262,-312), root:(434,459), state 0x10, keycode 38 (keysym 0x61, a), same_screen YES, XLookupString gives 1 bytes: (61) a XmbLookupString gives 1 bytes: (61) a XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3617306, (-262,-312), root:(434,459), state 0x10, keycode 38 (keysym 0x61, a), same_screen YES, XLookupString gives 1 bytes: (61) a XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3618355, (-262,-312), root:(434,459), state 0x10, keycode 56 (keysym 0x62, b), same_screen YES, XLookupString gives 1 bytes: (62) b XmbLookupString gives 1 bytes: (62) b XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3618458, (-262,-312), root:(434,459), state 0x10, keycode 56 (keysym 0x62, b), same_screen YES, XLookupString gives 1 bytes: (62) b XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3619216, (-262,-312), root:(434,459), state 0x10, keycode 54 (keysym 0x63, c), same_screen YES, XLookupString gives 1 bytes: (63) c XmbLookupString gives 1 bytes: (63) c XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3619330, (-262,-312), root:(434,459), state 0x10, keycode 54 (keysym 0x63, c), same_screen YES, XLookupString gives 1 bytes: (63) c XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3619871, (-262,-312), root:(434,459), state 0x10, keycode 40 (keysym 0x64, d), same_screen YES, XLookupString gives 1 bytes: (64) d XmbLookupString gives 1 bytes: (64) d XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3619979, (-262,-312), root:(434,459), state 0x10, keycode 40 (keysym 0x64, d), same_screen YES, XLookupString gives 1 bytes: (64) d XFilterEvent returns: False 1 июня 2009 г. 20:47 пользователь Maxim Gammer maxgam...@gmail.com написал: Hi, Robert ...xev result for abcd (Russian): KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3487419, (68,-21), root:(764,750), state 0x2010, keycode 38 (keysym 0x6c6, Cyrillic_ef), same_screen YES, XLookupString gives 2 bytes: (d1 84) ф XmbLookupString gives 2 bytes: (d1 84) ф XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3487518, (68,-21), root:(764,750), state 0x2010, keycode 38 (keysym 0x6c6, Cyrillic_ef), same_screen YES, XLookupString gives 2 bytes: (d1 84) ф XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3489948, (68,-21), root:(764,750), state 0x2010, keycode 56 (keysym 0x6c9, Cyrillic_i), same_screen YES, XLookupString gives 2 bytes: (d0 b8) и XmbLookupString gives 2 bytes: (d0 b8) и XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490056, (68,-21), root:(764,750), state 0x2010, keycode 56 (keysym 0x6c9, Cyrillic_i), same_screen YES, XLookupString gives 2 bytes: (d0 b8) и XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490683, (68,-21), root:(764,750), state 0x2010, keycode 54 (keysym 0x6d3, Cyrillic_es), same_screen YES, XLookupString gives 2 bytes: (d1 81) с XmbLookupString gives 2 bytes: (d1 81) с XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490804, (68,-21), root:(764,750), state 0x2010, keycode 54 (keysym 0x6d3, Cyrillic_es), same_screen YES, XLookupString gives 2 bytes: (d1 81) с XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3491437, (68,-21), root:(764,750), state 0x2010, keycode 40 (keysym 0x6d7, Cyrillic_ve), same_screen YES, XLookupString gives 2 bytes: (d0 b2) в XmbLookupString gives 2 bytes: (d0 b2) в XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3491551, (68,-21), root:(764,750), state 0x2010, keycode 40 (keysym 0x6d7, Cyrillic_ve), same_screen YES, XLookupString gives 2 bytes: (d0 b2) в XFilterEvent returns: False 2009/6/1 Robert Osfield robert.osfi...@gmail.com: HI Maxim, I'm afraid what you've sent is rather difficult to follow and seemingly inconsitent with your
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Maxim, Could you now do the same test with caps lock on, so the 'ABCD'. W.r.t the XLookupString result strings, do these look sensible? Robert. 2009/6/1 Maxim Gammer maxgam...@gmail.com: Hi, Robert ...xev result for abcd (Russian): KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3487419, (68,-21), root:(764,750), state 0x2010, keycode 38 (keysym 0x6c6, Cyrillic_ef), same_screen YES, XLookupString gives 2 bytes: (d1 84) ф XmbLookupString gives 2 bytes: (d1 84) ф XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3487518, (68,-21), root:(764,750), state 0x2010, keycode 38 (keysym 0x6c6, Cyrillic_ef), same_screen YES, XLookupString gives 2 bytes: (d1 84) ф XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3489948, (68,-21), root:(764,750), state 0x2010, keycode 56 (keysym 0x6c9, Cyrillic_i), same_screen YES, XLookupString gives 2 bytes: (d0 b8) и XmbLookupString gives 2 bytes: (d0 b8) и XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490056, (68,-21), root:(764,750), state 0x2010, keycode 56 (keysym 0x6c9, Cyrillic_i), same_screen YES, XLookupString gives 2 bytes: (d0 b8) и XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490683, (68,-21), root:(764,750), state 0x2010, keycode 54 (keysym 0x6d3, Cyrillic_es), same_screen YES, XLookupString gives 2 bytes: (d1 81) с XmbLookupString gives 2 bytes: (d1 81) с XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3490804, (68,-21), root:(764,750), state 0x2010, keycode 54 (keysym 0x6d3, Cyrillic_es), same_screen YES, XLookupString gives 2 bytes: (d1 81) с XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3491437, (68,-21), root:(764,750), state 0x2010, keycode 40 (keysym 0x6d7, Cyrillic_ve), same_screen YES, XLookupString gives 2 bytes: (d0 b2) в XmbLookupString gives 2 bytes: (d0 b2) в XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 3491551, (68,-21), root:(764,750), state 0x2010, keycode 40 (keysym 0x6d7, Cyrillic_ve), same_screen YES, XLookupString gives 2 bytes: (d0 b2) в XFilterEvent returns: False 2009/6/1 Robert Osfield robert.osfi...@gmail.com: HI Maxim, I'm afraid what you've sent is rather difficult to follow and seemingly inconsitent with your previous post. Could you post the results in sections with a heading of what follows. In searching the web on XLookupString and Russian I came across the little test application xev that outputs the keyboard symbol and XLookupString results, could you have a look at what results you get for the Russian vs USA with this. Thanks, Robert. On Mon, Jun 1, 2009 at 3:35 PM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, OK, abcd (USA), ABCD (USA), abcd (Russian), ABCD (Russian) . keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 38, KeySym97, keySymbol97 numChars = 1,97, 0 keySymbol = 97 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 56, KeySym98, keySymbol98 numChars = 1,98, 0 keySymbol = 98 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 54, KeySym99, keySymbol99 numChars = 1,99, 0 keySymbol = 99 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 40, KeySym100, keySymbol100 numChars = 1,100, 0 keySymbol = 100 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509 keyevent.keycode = 66, KeySym65509, keySymbol65509 numChars = 0,0, 39 keySymbol = 65509
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
OK. ABCD (Russian) and ABCD (USA) result .. KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4190830, (50,-17), root:(746,754), state 0x2012, keycode 38 (keysym 0x6e6, Cyrillic_EF), same_screen YES, XLookupString gives 2 bytes: (d0 a4) Ф XmbLookupString gives 2 bytes: (d0 a4) Ф XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4190942, (50,-17), root:(746,754), state 0x2012, keycode 38 (keysym 0x6e6, Cyrillic_EF), same_screen YES, XLookupString gives 2 bytes: (d0 a4) Ф XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4191095, (50,-17), root:(746,754), state 0x2012, keycode 56 (keysym 0x6e9, Cyrillic_I), same_screen YES, XLookupString gives 2 bytes: (d0 98) И XmbLookupString gives 2 bytes: (d0 98) И XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4191194, (50,-17), root:(746,754), state 0x2012, keycode 56 (keysym 0x6e9, Cyrillic_I), same_screen YES, XLookupString gives 2 bytes: (d0 98) И XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4191410, (50,-17), root:(746,754), state 0x2012, keycode 54 (keysym 0x6f3, Cyrillic_ES), same_screen YES, XLookupString gives 2 bytes: (d0 a1) С XmbLookupString gives 2 bytes: (d0 a1) С XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4191543, (50,-17), root:(746,754), state 0x2012, keycode 54 (keysym 0x6f3, Cyrillic_ES), same_screen YES, XLookupString gives 2 bytes: (d0 a1) С XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4191744, (50,-17), root:(746,754), state 0x2012, keycode 40 (keysym 0x6f7, Cyrillic_VE), same_screen YES, XLookupString gives 2 bytes: (d0 92) В XmbLookupString gives 2 bytes: (d0 92) В XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4191855, (50,-17), root:(746,754), state 0x2012, keycode 40 (keysym 0x6f7, Cyrillic_VE), same_screen YES, XLookupString gives 2 bytes: (d0 92) В XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4198549, (58,-144), root:(754,627), state 0x2012, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4198768, (58,-144), root:(754,627), state 0x2016, keycode 50 (keysym 0xfe0a, ISO_Prev_Group), same_screen YES, XKeysymToKeycode returns keycode: 37 XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4198949, (58,-144), root:(754,627), state 0x16, keycode 50 (keysym 0xfe0a, ISO_Prev_Group), same_screen YES, XKeysymToKeycode returns keycode: 37 XLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4198967, (58,-144), root:(754,627), state 0x16, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4202905, (46,-15), root:(742,756), state 0x12, keycode 38 (keysym 0x41, A), same_screen YES, XLookupString gives 1 bytes: (41) A XmbLookupString gives 1 bytes: (41) A XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4203037, (46,-15), root:(742,756), state 0x12, keycode 38 (keysym 0x41, A), same_screen YES, XLookupString gives 1 bytes: (41) A XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4203113, (46,-15), root:(742,756), state 0x12, keycode 56 (keysym 0x42, B), same_screen YES, XLookupString gives 1 bytes: (42) B XmbLookupString gives 1 bytes: (42) B XFilterEvent returns: False KeyRelease event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4203209, (46,-15), root:(742,756), state 0x12, keycode 56 (keysym 0x42, B), same_screen YES, XLookupString gives 1 bytes: (42) B XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x381, root 0x13c, subw 0x0, time 4203279, (46,-15), root:(742,756), state 0x12, keycode 54 (keysym 0x43, C), same_screen YES,
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
* Robert Osfield -- Monday 01 June 2009: see if things are now working correctly in osgkeyboard Nope. Ctrl-a returns 0004-0061 again (an 'a'), instead of 0004-0001, and Delete returns -. m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi, * Robert Osfield -- Monday 01 June 2009: The Delete returning a osgGA::GUIEventAdapter::KEY_Delete is appropriate though. Whoops, sorry. Looked suspicious, and there's no way to test that in osgkeyboard. Have yet to link FlightGear with the new version, but ... Could you try the attached GraphicsWindowX11.cpp. ... so far it looks good! That's with an US-keyboard. Now trying FlightGear ... m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
On Mon, Jun 1, 2009 at 5:03 PM, Melchior FRANZ melchior.fr...@gmail.com wrote: * Robert Osfield -- Monday 01 June 2009: The Delete returning a osgGA::GUIEventAdapter::KEY_Delete is appropriate though. Whoops, sorry. Looked suspicious, and there's no way to test that in osgkeyboard. osgkeyboard doesn't report the Delete key being pressed when I press it so it does look to be working, at least on my UK Keyboard + Kubuntu 9.04. Have yet to link FlightGear with the new version, but ... Could you try the attached GraphicsWindowX11.cpp. ... so far it looks good! That's with an US-keyboard. Now trying FlightGear ... Fingers and toes crossed :-) Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Passed the FlightGear test without problems. m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
* Robert Osfield -- Monday 01 June 2009: Could you both do testing to check that things now work across the various locale combinations and applications. My keyboard doesn't have a keypad, so I can only test the other keys. (I'll try to find someone with keypad, but no promise. :-) m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
* Melchior FRANZ -- Monday 01 June 2009: My keyboard doesn't have a keypad, so I can only test the other keys. ... but everything else worked. And we'll soon find out if there are still keypad problems. The current solution is already infinitely better than what is in SVN/HEAD, so I'd commit. Thanks for the fix! m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Robert, i test new GraphicsWindowX11.cpp . 2009/6/2 Melchior FRANZ melchior.fr...@gmail.com: * Melchior FRANZ -- Monday 01 June 2009: My keyboard doesn't have a keypad, so I can only test the other keys. ... but everything else worked. And we'll soon find out if there are still keypad problems. The current solution is already infinitely better than what is in SVN/HEAD, so I'd commit. Thanks for the fix! m. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hello Robert, I've cheсked the GraphicsWindowX11.cpp and it worked fine in OSG 2.8.1 and SVN. Thank you for your help. I hope this change will be included in the next stable version. Robert, I wonder what should be done to deserve being in the AUTHORS.txt? :) Max Gammer. 2009/5/25 Robert Osfield robert.osfi...@gmail.com: Hi Maxim, Good to hear that it's now working. I've now checked in the fix to svn/trunk and the OSG-2.8 branch. Alas it missed 2.8.1 though... Robert. On Mon, May 25, 2009 at 5:14 PM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, If the keyboard layout is English (USA) or Russian then KeyboardEventHandler works fine! Thank you very much. p.s. OSG 2.8.1 (and Nvidia PhysX 2.8.1 ) ) 2009/5/25 Robert Osfield robert.osfi...@gmail.com: Hi Maxim, Argg... I modified the GraphicsWindowX11.cpp in svn/trunk and you are obviously using a prior version of the OSG. Attached is the svn/trunk version of GraphicsWindow that has the Hand definition. Hopefully this will be enough, if not you might need to grab the svn/trunk version of the OSG. Which version of the OSG are you using? Robert. On Mon, May 25, 2009 at 4:37 PM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I replace GraphicsWindowX11.cpp and run make . [ 25%] Built target osgText Scanning dependencies of target osgViewer [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/CompositeViewer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/HelpHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Renderer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Scene.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ScreenCaptureHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/StatsHandler.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Version.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/View.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Viewer.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerBase.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerEventHandlers.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp: In member function 'Cursor osgViewer::GraphicsWindowX11::getOrCreateCursor(osgViewer::GraphicsWindow::MouseCursor)': /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp:555: error: no declaration 'HandCursor' make[2]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o] error 1 make[1]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/all] error 2 make: *** [all] Error 2 maximum2...@maximum2000-desktop:~/DEVELOP/OpenSceneGraph-2.8.1/tempo$ 2009/5/25 Robert Osfield robert.osfi...@gmail.com: Hi Maxim, I've tried out your suggestion of just using the remappedKey value as the returned keySymbol but found that it lost the case of characters that I was typing, so this alone won't be sufficient for a cross locale solution. Further investigation revealed that the GraphicsWindowX11.cpp class X11KeyboardMap which does the remapping to OSG specific control keys was receiving a keyboard symbol with the correct case, but then remapping the XK_a etc. to 'A' rather than 'a', so it was the cultprit. Changing the mapping of the lower case XK_a to 'a' etc. solved the problem and has allow me to use the remappedKey directly in all cases, like you've done on your system. I've attached my modified GraphicsWindowX11.cpp, could you try it out on your system to see if it works OK, if it does then I'll merged this into svn/trunk. Thanks, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Thanks again, hope to see my name in that list next release :) Max Gammer 26 мая 2009 г. 14:09 пользователь Robert Osfield robert.osfi...@gmail.com написал: Hi Maxim, 2009/5/26 Maxim Gammer maxgam...@gmail.com: I've cheсked the GraphicsWindowX11.cpp and it worked fine in OSG 2.8.1 and SVN. Thank you for your help. I hope this change will be included in the next stable version. Yes it'll be in the next stable version. Personally I'll be concentrating on OSG 2.10 now. Others in the community with write permission to the branches are welcome to look at doing a 2.8.2. Robert, I wonder what should be done to deserve being in the AUTHORS.txt? :) If I merge a code submission then I put a From FirstName SecondName at the beginning of the submission message, this is then parsed by osgversion to generate the AUTHORS.txt file from the ChangeLog. Prior to each dev or stable release I run osgversion on the ChangeLog. I never update the AUTHORS.txt file by hand, so it only updates at release point. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Maxim, 2009/5/26 Maxim Gammer maxgam...@gmail.com: hope to see my name in that list next release :) We'll you'll need to get a submission accepted first :-) For this particular fix I just used your submission as a point of reference, it didn't work as is when I tested it due to problems with case, so I wrote the final solution myself. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Robert, I replace GraphicsWindowX11.cpp and run make . [ 25%] Built target osgText Scanning dependencies of target osgViewer [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/CompositeViewer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/HelpHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Renderer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Scene.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ScreenCaptureHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/StatsHandler.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Version.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/View.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Viewer.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerBase.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerEventHandlers.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp: In member function ‘Cursor osgViewer::GraphicsWindowX11::getOrCreateCursor(osgViewer::GraphicsWindow::MouseCursor)’: /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp:555: error: no declaration ‘HandCursor’ make[2]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o] error 1 make[1]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/all] error 2 make: *** [all] Error 2 maximum2...@maximum2000-desktop:~/DEVELOP/OpenSceneGraph-2.8.1/tempo$ 2009/5/25 Robert Osfield robert.osfi...@gmail.com: Hi Maxim, I've tried out your suggestion of just using the remappedKey value as the returned keySymbol but found that it lost the case of characters that I was typing, so this alone won't be sufficient for a cross locale solution. Further investigation revealed that the GraphicsWindowX11.cpp class X11KeyboardMap which does the remapping to OSG specific control keys was receiving a keyboard symbol with the correct case, but then remapping the XK_a etc. to 'A' rather than 'a', so it was the cultprit. Changing the mapping of the lower case XK_a to 'a' etc. solved the problem and has allow me to use the remappedKey directly in all cases, like you've done on your system. I've attached my modified GraphicsWindowX11.cpp, could you try it out on your system to see if it works OK, if it does then I'll merged this into svn/trunk. Thanks, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Maxim, Argg... I modified the GraphicsWindowX11.cpp in svn/trunk and you are obviously using a prior version of the OSG. Attached is the svn/trunk version of GraphicsWindow that has the Hand definition. Hopefully this will be enough, if not you might need to grab the svn/trunk version of the OSG. Which version of the OSG are you using? Robert. On Mon, May 25, 2009 at 4:37 PM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I replace GraphicsWindowX11.cpp and run make . [ 25%] Built target osgText Scanning dependencies of target osgViewer [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/CompositeViewer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/HelpHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Renderer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Scene.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ScreenCaptureHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/StatsHandler.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Version.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/View.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Viewer.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerBase.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerEventHandlers.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp: In member function ‘Cursor osgViewer::GraphicsWindowX11::getOrCreateCursor(osgViewer::GraphicsWindow::MouseCursor)’: /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp:555: error: no declaration ‘HandCursor’ make[2]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o] error 1 make[1]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/all] error 2 make: *** [all] Error 2 maximum2...@maximum2000-desktop:~/DEVELOP/OpenSceneGraph-2.8.1/tempo$ 2009/5/25 Robert Osfield robert.osfi...@gmail.com: Hi Maxim, I've tried out your suggestion of just using the remappedKey value as the returned keySymbol but found that it lost the case of characters that I was typing, so this alone won't be sufficient for a cross locale solution. Further investigation revealed that the GraphicsWindowX11.cpp class X11KeyboardMap which does the remapping to OSG specific control keys was receiving a keyboard symbol with the correct case, but then remapping the XK_a etc. to 'A' rather than 'a', so it was the cultprit. Changing the mapping of the lower case XK_a to 'a' etc. solved the problem and has allow me to use the remappedKey directly in all cases, like you've done on your system. I've attached my modified GraphicsWindowX11.cpp, could you try it out on your system to see if it works OK, if it does then I'll merged this into svn/trunk. Thanks, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org GraphicsWindow Description: Binary data ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Robert, If the keyboard layout is English (USA) or Russian then KeyboardEventHandler works fine! Thank you very much. 2009/5/25 Maxim Gammer maxgam...@gmail.com: Hi Robert, I replace GraphicsWindowX11.cpp and run make . [ 25%] Built target osgText Scanning dependencies of target osgViewer [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/CompositeViewer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/HelpHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Renderer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Scene.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ScreenCaptureHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/StatsHandler.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Version.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/View.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Viewer.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerBase.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerEventHandlers.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp: In member function ‘Cursor osgViewer::GraphicsWindowX11::getOrCreateCursor(osgViewer::GraphicsWindow::MouseCursor)’: /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp:555: error: no declaration ‘HandCursor’ make[2]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o] error 1 make[1]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/all] error 2 make: *** [all] Error 2 maximum2...@maximum2000-desktop:~/DEVELOP/OpenSceneGraph-2.8.1/tempo$ 2009/5/25 Robert Osfield robert.osfi...@gmail.com: Hi Maxim, I've tried out your suggestion of just using the remappedKey value as the returned keySymbol but found that it lost the case of characters that I was typing, so this alone won't be sufficient for a cross locale solution. Further investigation revealed that the GraphicsWindowX11.cpp class X11KeyboardMap which does the remapping to OSG specific control keys was receiving a keyboard symbol with the correct case, but then remapping the XK_a etc. to 'A' rather than 'a', so it was the cultprit. Changing the mapping of the lower case XK_a to 'a' etc. solved the problem and has allow me to use the remappedKey directly in all cases, like you've done on your system. I've attached my modified GraphicsWindowX11.cpp, could you try it out on your system to see if it works OK, if it does then I'll merged this into svn/trunk. Thanks, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Maxim, Good to hear that it's now working. I've now checked in the fix to svn/trunk and the OSG-2.8 branch. Alas it missed 2.8.1 though... Robert. On Mon, May 25, 2009 at 5:14 PM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, If the keyboard layout is English (USA) or Russian then KeyboardEventHandler works fine! Thank you very much. p.s. OSG 2.8.1 (and Nvidia PhysX 2.8.1 ) ) 2009/5/25 Robert Osfield robert.osfi...@gmail.com: Hi Maxim, Argg... I modified the GraphicsWindowX11.cpp in svn/trunk and you are obviously using a prior version of the OSG. Attached is the svn/trunk version of GraphicsWindow that has the Hand definition. Hopefully this will be enough, if not you might need to grab the svn/trunk version of the OSG. Which version of the OSG are you using? Robert. On Mon, May 25, 2009 at 4:37 PM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I replace GraphicsWindowX11.cpp and run make . [ 25%] Built target osgText Scanning dependencies of target osgViewer [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/CompositeViewer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/HelpHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Renderer.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Scene.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ScreenCaptureHandler.o [ 25%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/StatsHandler.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Version.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/View.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/Viewer.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerBase.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/ViewerEventHandlers.o [ 26%] Building CXX object src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp: In member function ‘Cursor osgViewer::GraphicsWindowX11::getOrCreateCursor(osgViewer::GraphicsWindow::MouseCursor)’: /home/maximum2000/DEVELOP/OpenSceneGraph-2.8.1/src/osgViewer/GraphicsWindowX11.cpp:555: error: no declaration ‘HandCursor’ make[2]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.o] error 1 make[1]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/all] error 2 make: *** [all] Error 2 maximum2...@maximum2000-desktop:~/DEVELOP/OpenSceneGraph-2.8.1/tempo$ 2009/5/25 Robert Osfield robert.osfi...@gmail.com: Hi Maxim, I've tried out your suggestion of just using the remappedKey value as the returned keySymbol but found that it lost the case of characters that I was typing, so this alone won't be sufficient for a cross locale solution. Further investigation revealed that the GraphicsWindowX11.cpp class X11KeyboardMap which does the remapping to OSG specific control keys was receiving a keyboard symbol with the correct case, but then remapping the XK_a etc. to 'A' rather than 'a', so it was the cultprit. Changing the mapping of the lower case XK_a to 'a' etc. solved the problem and has allow me to use the remappedKey directly in all cases, like you've done on your system. I've attached my modified GraphicsWindowX11.cpp, could you try it out on your system to see if it works OK, if it does then I'll merged this into svn/trunk. Thanks, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi! I think I've found the reason of keyboard layout problem in Linux. Executing the debug process, I found where the key code had been lost. The problem was in GraphicsWindowX11::adaptKey function, to be more precise in the following: if (remappedKey 0xff00) { // special keyboard character keySymbol = remappedKey; } else { // normal ascii key keySymbol = keybuf[0]; } if we replace/remove that conditional branch, i.e. use only that: { // special keyboard character keySymbol = remappedKey; } everything works fine :) I couldn't understand the aim of developers, what is that else for, anyway? else { // normal ascii key keySymbol = keybuf[0]; } if remappedKey holds the right value anyway (not only for special keyboard character) Could we send this into OpenSceneGraph Submissions? 2009/5/21 Max Gammer maxgam...@gmail.com: First name - Maxim, last name - Gammer 2009/5/20 Robert Osfield robert.osfi...@gmail.com: Hi ? My previous email I wrote: Hi Gammer? Maximum? Could you sign with your first name please so we know how to address you, thanks. Alas you still didn't sign your name... it's a small thing, but it does make for more congenial communication so please could you sign your post with your first name. 2009/5/20 Maxim Gammer maxgam...@gmail.com: I have looked src/osgViewer/GraphicsWindowX11.cpp and it helped to localise my problem. I printed the debug info with osg::notify in key points of the code and got very interesting results. Here are key points and results: The debugging results do point the adaptKey not coping with the new keyboard layout. I'm afraid I no X11/multi-language experience so can't point to any specific solution here. I'm surprised that others aren't coming across the same issue. Could you try changing your lanaguage to other lanauges such as French/German/Chinese to see what happens in this instance. I guess all might be broken, or perhaps just something specific language support. If it's generally broken then we'll need to look at how to use a different part of X11 to get the keycodes, otherwise we'll need to look at X11 itself why the Russian side is broken. Robert. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi! I think I've found the reason of keyboard layout problem in Linux. Executing the debug process, I found where the key code had been lost. The problem was in GraphicsWindowX11::adaptKey function, to be more precise in the following: if (remappedKey 0xff00) { // special keyboard character keySymbol = remappedKey; } else { // normal ascii key keySymbol = keybuf[0]; } if we replace/remove that conditional branch, i.e. use only that: { // special keyboard character keySymbol = remappedKey; } everything works fine :) I couldn't understand the aim of developers, what is that else for, anyway? else { // normal ascii key keySymbol = keybuf[0]; } if remappedKey holds the right value anyway (not only for special keyboard character) Could we send this into OpenSceneGraph Submissions? ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
First name - Maxim, last name - Gammer 2009/5/20 Robert Osfield robert.osfi...@gmail.com: Hi ? My previous email I wrote: Hi Gammer? Maximum? Could you sign with your first name please so we know how to address you, thanks. Alas you still didn't sign your name... it's a small thing, but it does make for more congenial communication so please could you sign your post with your first name. 2009/5/20 Maxim Gammer maxgam...@gmail.com: I have looked src/osgViewer/GraphicsWindowX11.cpp and it helped to localise my problem. I printed the debug info with osg::notify in key points of the code and got very interesting results. Here are key points and results: The debugging results do point the adaptKey not coping with the new keyboard layout. I'm afraid I no X11/multi-language experience so can't point to any specific solution here. I'm surprised that others aren't coming across the same issue. Could you try changing your lanaguage to other lanauges such as French/German/Chinese to see what happens in this instance. I guess all might be broken, or perhaps just something specific language support. If it's generally broken then we'll need to look at how to use a different part of X11 to get the keycodes, otherwise we'll need to look at X11 itself why the Russian side is broken. Robert. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hello, I have looked src/osgViewer/GraphicsWindowX11.cpp and it helped to localise my problem. I printed the debug info with osg::notify in key points of the code and got very interesting results. Here are key points and results: case KeyPress: { if (firstEventTime==0) firstEventTime = ev.xmotion.time; Time relativeTime = ev.xmotion.time - firstEventTime; eventTime = baseTime + static_castdouble(relativeTime)*0.001; // _modifierState = ev.xkey.state; osg::notify(osg::INFO)+++ev.xkey.keycode = ev.xkey.keycode std::endl; keyMapSetKey(_keyMap, ev.xkey.keycode); int keySymbol = 0; adaptKey(ev.xkey, keySymbol); getEventQueue()-keyPress(keySymbol, eventTime); osg::notify(osg::INFO)+++key = keySymbol press ! std::endl; break; } results: ey= 97 +++ev.xkey.keycode = 38 +++key = 97 press ! key= 97 +++ev.xkey.keycode = 39 +++key = 115 press ! key= 115 +++ev.xkey.keycode = 40 +++key = 100 press ! key= 100 +++ev.xkey.keycode = 40 +++key = 100 press ! key= 100 +++ev.xkey.keycode = 40 +++key = 100 press ! key= 100 +++ev.xkey.keycode = 64 +++key = 65513 press ! key= 65513 +++ev.xkey.keycode = 50 +++key = 65505 press ! key= 65505 --here I switched the keyboard layout -- +++ev.xkey.keycode = 39 +++key = 0 press ! key= 0 +++ev.xkey.keycode = 40 +++key = 0 press ! key= 0 +++ev.xkey.keycode = 38 +++key = 0 press ! key= 0 +++ev.xkey.keycode = 38 +++key = 0 press ! key= 0 +++ev.xkey.keycode = 25 +++key = 0 press ! key= 0 +++ev.xkey.keycode = 25 +++key = 0 press ! key= 0 +++ev.xkey.keycode = 25 +++key = 0 press ! key= 0 +++ev.xkey.keycode = 25 +++key = 0 press ! key= 0 +++ev.xkey.keycode = 40 +++key = 0 press ! key= 0 I continued my research :). But the next problem I crossed with, was the following function (GraphicsWindowX11::adaptKey). I'm not very competent in Linux coding, and I get confused with conversion into ASCII, because national characters have another ASCII codes. There is an ASCII code before conversion and therу isn't after it. (see output results above). I'd be glad to any help :) void GraphicsWindowX11::adaptKey(XKeyEvent keyevent, int keySymbol) { Display* display = _eventDisplay; unsigned char keybuf[32]; XLookupString( keyevent, (char *)keybuf, sizeof(keybuf), NULL, NULL ); KeySym ks = XKeycodeToKeysym( display, keyevent.keycode, 0 ); int remappedKey = remapX11Key(ks); if (remappedKey 0xff00) { // special keyboard character keySymbol = remappedKey; } else { // normal ascii key keySymbol = keybuf[0]; } } 2009/5/14 Robert Osfield robert.osfi...@gmail.com Hi Gammer? Maximum? Could you sign with your first name please so we know how to address you, thanks. I haven't heard of problems with keyboard mappings under Linux before so don't have any prior knowledge to share, there must be something specific about your setup which isn't supported that others haven't used before. What you'll have to look into is what is happening inside src/osgViewer/GraphicsWindowX11.cpp to see what keyboard events are being generated and follow these to see how they are mapped before passed into the osgGA::EventQueue that is the route into OSG's standard event traversal. Since you're the one that can reproduce the problem, you are also the one best placed to look into what the specific issue is, the best we can do is point your in roughly the right directions to look. Robert. On Thu, May 14, 2009 at 8:31 AM, Maxim Gammer maxgam...@gmail.com wrote: Hello, While porting my program to Linux, I encountered the following error. If the keyboard layout is English (USA) then KeyboardEventHandler works fine. But if it's something else, Russian for example, ea.getKey() always returns zero. (Except system keys F1 - F12 and digits) It's the case for Kubuntu 9.04 and SUSE 11.1 (KDE) In WindowsXP and Vista everything works fine. The usage of KeyboardEventHandler: bool KeyboardEventHandler::handle( const osgGA::GUIEventAdapter ea,osgGA::GUIActionAdapter us) { switch(ea.getEventType()) { case(osgGA::GUIEventAdapter::KEYDOWN ): { int _key = ea.getKey(); std::cout key= _key std::endl; -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi ? My previous email I wrote: Hi Gammer? Maximum? Could you sign with your first name please so we know how to address you, thanks. Alas you still didn't sign your name... it's a small thing, but it does make for more congenial communication so please could you sign your post with your first name. 2009/5/20 Maxim Gammer maxgam...@gmail.com: I have looked src/osgViewer/GraphicsWindowX11.cpp and it helped to localise my problem. I printed the debug info with osg::notify in key points of the code and got very interesting results. Here are key points and results: The debugging results do point the adaptKey not coping with the new keyboard layout. I'm afraid I no X11/multi-language experience so can't point to any specific solution here. I'm surprised that others aren't coming across the same issue. Could you try changing your lanaguage to other lanauges such as French/German/Chinese to see what happens in this instance. I guess all might be broken, or perhaps just something specific language support. If it's generally broken then we'll need to look at how to use a different part of X11 to get the keycodes, otherwise we'll need to look at X11 itself why the Russian side is broken. Robert. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Help. KeyboardEventHandler and native keyboard layout bug in Linux
Hi Gammer? Maximum? Could you sign with your first name please so we know how to address you, thanks. I haven't heard of problems with keyboard mappings under Linux before so don't have any prior knowledge to share, there must be something specific about your setup which isn't supported that others haven't used before. What you'll have to look into is what is happening inside src/osgViewer/GraphicsWindowX11.cpp to see what keyboard events are being generated and follow these to see how they are mapped before passed into the osgGA::EventQueue that is the route into OSG's standard event traversal. Since you're the one that can reproduce the problem, you are also the one best placed to look into what the specific issue is, the best we can do is point your in roughly the right directions to look. Robert. On Thu, May 14, 2009 at 8:31 AM, Maxim Gammer maxgam...@gmail.com wrote: Hello, While porting my program to Linux, I encountered the following error. If the keyboard layout is English (USA) then KeyboardEventHandler works fine. But if it's something else, Russian for example, ea.getKey() always returns zero. (Except system keys F1 - F12 and digits) It's the case for Kubuntu 9.04 and SUSE 11.1 (KDE) In WindowsXP and Vista everything works fine. The usage of KeyboardEventHandler: bool KeyboardEventHandler::handle( const osgGA::GUIEventAdapter ea,osgGA::GUIActionAdapter us) { switch(ea.getEventType()) { case(osgGA::GUIEventAdapter::KEYDOWN ): { int _key = ea.getKey(); std::cout key= _key std::endl; -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org