[squeak-dev] serious bugs with keyboard events in recent updates
Eliot Miranda
eliot.miranda at gmail.com
Mon Jun 28 18:18:58 UTC 2021
Hi All,
is anyone seeing Character>>doesNotUnderratand: #bitShift: errors as a
result of recent updates? It appears that an event's fifth element is now a
Character, not mouse buttons plus metakey state codes. There seems to be
some confusion somewhere in creating events. I'm trying to understand if
this is an image level bug or a VM bug. Here are the definitions in sq.h
which show that modifiers are not always in the same place in every event:
#define EventTypeMouse 1
/* mouse input event */
typedef struct sqMouseEvent {
sqIntptr_t type; /* EventTypeMouse */
usqIntptr_t timeStamp; /* time stamp */
sqIntptr_t x; /* mouse position x */
sqIntptr_t y; /* mouse position y */
sqIntptr_t buttons; /* combination of xxxButtonBit */
5 sqIntptr_t modifiers; /* combination of xxxKeyBit */
sqIntptr_t nrClicks; /* number of clicks in button downs - was
reserved1 */
sqIntptr_t windowIndex; /* host window structure */
} sqMouseEvent;
#define EventTypeKeyboard 2
/* keyboard input event */
typedef struct sqKeyboardEvent {
sqIntptr_t type; /* EventTypeKeyboard */
usqIntptr_t timeStamp; /* time stamp */
sqIntptr_t charCode; /* character code in Mac Roman encoding */
sqIntptr_t pressCode; /* press code; any of EventKeyXXX */
4 sqIntptr_t modifiers; /* combination of xxxKeyBit */
sqIntptr_t utf32Code; /* UTF-32 unicode value */
sqIntptr_t reserved1; /* reserved for future use */
sqIntptr_t windowIndex; /* host window structure */
} sqKeyboardEvent;
#define EventTypeDragDropFiles 3
/* drop files event */
typedef struct sqDragDropFilesEvent {
sqIntptr_t type; /* EventTypeDropFiles */
usqIntptr_t timeStamp; /* time stamp */
sqIntptr_t dragType; /* one of DragXXX (see below) */
sqIntptr_t x; /* mouse position x */
sqIntptr_t y; /* mouse position y */
5 sqIntptr_t modifiers; /* combination of xxxKeyBit */
sqIntptr_t numFiles; /* number of files in transaction */
sqIntptr_t windowIndex; /* host window structure */
} sqDragDropFilesEvent;
Is the bug that the VM has modifiers and utf32Code in the wrong order
in sqKeyboardEvent?
Or is it an image level bug?
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210628/b699c9d7/attachment.html>
More information about the Squeak-dev
mailing list
|