gui icon indicating copy to clipboard operation
gui copied to clipboard

get-key-release-code returns 'shift instead of 'rshift

Open default-kramer opened this issue 4 years ago • 1 comments
trafficstars

When I press the right shift key, get-key-code produces 'rshift, but when I release the same key it produces 'shift. I think get-key-release-code should return 'rshift in this situation.

This is on Windows using DrRacket, version 8.0.0.11--2021-03-15(c0cfd32/a) [cs].

Possibly related to https://github.com/racket/gui/issues/91

default-kramer avatar Aug 04 '21 22:08 default-kramer

Just retested on Racket 8.2 CS to make sure the issue is still present. A test program:

#lang racket/gui

(define my-frame%
  (class frame%
    (super-new)
    (define/override (on-subwindow-char receiver key-event)
      (let* ([code (send key-event get-key-code)]
             [release-code (send key-event get-key-release-code)]
             [shift? (send key-event get-shift-down)])
        (println (list code release-code shift?))))))

(define f (new my-frame% [label "Test"] [min-width 100] [min-height 100]))
(send f show #t)

When I press and release right shift, I get '(rshift press #t) '(release shift #f), but I think it would be more correct if it were '(rshift press #t) '(release rshift #f).

default-kramer avatar Sep 08 '21 17:09 default-kramer