<br><br><div class="gmail_quote">On Thu, May 27, 2010 at 12:58 AM, Bert Freudenberg <span dir="ltr"><<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
On 27.05.2010, at 04:32, David T. Lewis wrote:<br>
><br>
><br>
> On Wed, May 26, 2010 at 02:12:03PM -0700, Eliot Miranda wrote:<br>
>><br>
>> Hi All,<br>
>><br>
>> is there any way to get the unix VM to deliver raw keyboard events, or<br>
>> at least control and shift key presses?<br>
><br>
> I don't know enough to fully answer this, but I am fairly sure that<br>
> the answer will turn out to be yes.<br>
<br>
</div>Well I assume Eliot meant "... without hacking the VM" in which case the answer would be "no". Everything else is just ASMOP, but he knows that ;)<br></blockquote><div><br></div><div>Except that yesterday when I enabled DEBUG_EVENTS in sqUnixX11.c and wrote some code to map keycodes into the XK_Blah define names in /usr/include/X11/keysymdef.h I soon found out that there's a non-obvious mapping going on and that I'll probably have to grok <a href="http://wiki.archlinux.org/index.php/Xorg#Keyboard_settings">Xorg's keyboard drive</a>r, sigh. I find the keyboard event mapping code in sqUnixX11.c distinctly non-obvious. Part of it is that international input complicates things but (I *think*) the root of it is that a keycode in an XKeyEvent (at least on Xorg) is /not/ decoded. The problem for me in these kinds of situations is that I only have one real machine and one virtual machine to hand so finding out what the one true solution for all of X11 is daunting (should I say that I *hate* X11). But at least I now know that (apart from the [fn] key) Xorg delivers all key presses immediately, so as you say Bert, merely ASMOP :)</div>
<div><br></div><div>best</div><div>Eliot</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888"><br>
- Bert -<br>
</font><div><div></div><div class="h5"><br>
> Assuming that the unix VM is running under X11, the raw information<br>
> would be in the form of X11 events, which are translated into some more<br>
> generic Squeak event format in platforms/unix/vm-display-X11/sqUnixX11.c.<br>
><br>
> The low level keyboard event information, including shift key presses,<br>
> would be represented as XKeyEvents, so I would expect that there is<br>
> some way to make these available as events in the VM.<br>
><br>
> X11 definitely does understand the shift keys, see for example<br>
> /usr/include/X11/keysymdef.h.<br>
><br>
> John's API documentation may help: <<a href="http://isqueak.org/ioProcessEvents" target="_blank">http://isqueak.org/ioProcessEvents</a>><br>
><br>
> Dave<br>
><br>
<br>
<br>
<br>
</div></div></blockquote></div><br>