DrRacket自定义键绑定

时间:2019-07-06 18:19:09

标签: scheme racket key-bindings

DrRacket IDE中, 我想使用C-F6更改用于移焦的默认C-Tab快捷方式。

在元代码中,它应该是:

    #lang s-exp framework/keybinding-lang

    (keybinding "c:tab" (λ (editor evt) (send editor shift-focus)))

很遗憾,shift-focus不属于 DrRacket API。我找到了它的reference,但是无法在keybinding使用的过程中对其进行隐蔽。

1 个答案:

答案 0 :(得分:1)

根据https://docs.racket-lang.org/drracket/Keyboard_Shortcuts.html#%28part._defining-shortcuts%29,您可以将密钥绑定到现有命令,如下所示:

#lang s-exp framework/keybinding-lang

(define (rebind key command)
  (keybinding
   key
   (λ (ed evt)
     (send (send ed get-keymap) call-function
           command ed evt #t))))

(rebind "c:tab" "shift-focus")