[OpenSmalltalk/opensmalltalk-vm] c3a43b: Fix missing KeyRelease events when multiple keys a...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] c3a43b: Fix missing KeyRelease events when multiple keys a...

Eliot Miranda-3
 
  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: c3a43bc998bad28e314cd3bd972015fe0a8e02aa
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c3a43bc998bad28e314cd3bd972015fe0a8e02aa
  Author: David T Lewis <[hidden email]>
  Date:   2021-01-19 (Tue, 19 Jan 2021)

  Changed paths:
    M platforms/unix/vm-display-X11/sqUnixX11.c

  Log Message:
  -----------
  Fix missing KeyRelease events when multiple keys are depressed. (#547)

* Fix missing KeyRelease events when multiple keys are depressed.
Reference Mantis 0007597 http://bugs.squeak.org/view.php?id=7597.
Rather than keep a single lastKey to remember the last previously
pressed key value, maintain an array size 256 of last key pressed values
indexed by X11 KeyCode. Works for any number of simultaneous keys.

* Initialize lastKeyValue array at compile time. For safety, mask index
into lastKeyValue to ensure array bounds are honored.

Co-authored-by: David T. Lewis <[hidden email]>