Events Racket gui键事件:忽略大小写

Events Racket gui键事件:忽略大小写,events,scheme,racket,Events,Scheme,Racket,我对racket还很陌生,我正在尝试编写一个游戏,目前我正在编写我的输入控制器。 我正在使用gui/canvas键事件()例如 然而,我的一个问题是钥匙代码区分大小写,例如“a”不同于“a”,因此如果caps lock打开,则我的控制器不工作。无论如何,是否有这样的方法可以避免为每个键编写(case key code[(#\a#\a)]) (define (key-downcase-key k) (cond [(char? k) (char-downcase k)] [e

我对racket还很陌生,我正在尝试编写一个游戏,目前我正在编写我的输入控制器。 我正在使用gui/canvas键事件()例如


然而,我的一个问题是钥匙代码区分大小写,例如“a”不同于“a”,因此如果caps lock打开,则我的控制器不工作。无论如何,是否有这样的方法可以避免为每个键编写
(case key code[(#\a#\a)])

(define (key-downcase-key k)
  (cond
     [(char? k) (char-downcase k)]
     [else      k]))
然后使用

(case (key-downcase k)
  [(#\a) ... as before ...])

谢谢!我不知道关键代码是普通字符。
(case (key-downcase k)
  [(#\a) ... as before ...])