I would like to create an editor where I can use capslock or some other key to input special commands somewhat similar to M-x in emacs.
with capslock (since I never use capslock anyway): every time I write someting in the editor, a function should run that will do something with the input. If capslock is turned off, the text should just be written in the editor normally. if capslock is on, then the text (letters, numbers ect) should instead be written in the field "commandField". if capslock is on and the input is a space or cariagereturn, then anoter function should run that takes the text in the "commandField" field as its argument and executes a command. The command could be "increasesize" and then the function would run "select all" and then increase the font size by 1, and finally clear the "commandField". How could I do this? with some other key: It might be better to use another key than capslock, for example a function key. How could I create a boolean variable that changes everytime a specific key (for example f2) gets pressed? Thank you ! Here is the editor code I have so far: #lang racket (require racket/gui) ;first frame of the program (define firstFrame (new frame% [label "An editor that allow you to input commands"] [width 500] [height 500])) ;the commands you type should be vissible in this message control (define commandField (new message% [parent firstFrame] [label "no commands yet..."])) ;the text area (define mainCanvas (new editor-canvas% [parent firstFrame])) (define mainTextArea (new text%)) (send mainCanvas set-editor mainTextArea) ;A menu bar for ordinary texteditor functionality (define manubar (new menu-bar% [parent firstFrame])) (define editDropdown (new menu% [label "Edit"] [parent manubar])) (define fontDropdown (new menu% [label "Font"] [parent manubar])) (append-editor-operation-menu-items editDropdown #f) (append-editor-font-menu-items fontDropdown) (send mainTextArea set-max-undo-history 100) (send firstFrame show #t) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/f07ba9b2-df26-4402-bb97-722d2c4f8d4dn%40googlegroups.com.