gui
gui copied to clipboard
get-key-release-code returns 'shift instead of 'rshift
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
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).