Add vim movement keys
Some indentation weirdness also got caught up in this, not sure what that's about...
This commit is contained in:
parent
4a7dee2f9e
commit
3f7684fb13
|
@ -26,24 +26,9 @@
|
|||
(define x (getcurx win))
|
||||
(cond
|
||||
((eqv? key KEY_BACKSPACE)
|
||||
(delch win #:y y #:x (- x 1)))
|
||||
(delch win #:y y #:x (- x 1)))
|
||||
((eqv? key KEY_DC)
|
||||
(delch win))
|
||||
((eqv? key KEY_LEFT)
|
||||
(move win y (- x 1)))
|
||||
((eqv? key KEY_RIGHT)
|
||||
(move win y (+ x 1)))
|
||||
((eqv? key KEY_UP)
|
||||
(move win (- y 1) x))
|
||||
((eqv? key KEY_DOWN)
|
||||
(move win (+ y 1) x))
|
||||
((eqv? key #\esc) 'normal-mode)
|
||||
(else (insch win (normal key) #:y y #:x (+ x 1)))))
|
||||
|
||||
(define (normal-mode-process-input win key)
|
||||
(define y (getcury win))
|
||||
(define x (getcurx win))
|
||||
(cond
|
||||
(delch win))
|
||||
((eqv? key KEY_LEFT)
|
||||
(move win y (- x 1)))
|
||||
((eqv? key KEY_RIGHT)
|
||||
|
@ -52,6 +37,25 @@
|
|||
(move win (- y 1) x))
|
||||
((eqv? key KEY_DOWN)
|
||||
(move win (+ y 1) x))
|
||||
((eqv? key #\esc) 'normal-mode)
|
||||
(else (insch win (normal key) #:y y #:x (+ x 1)))))
|
||||
|
||||
(define (normal-mode-process-input win key)
|
||||
(define y (getcury win))
|
||||
(define x (getcurx win))
|
||||
(cond
|
||||
((or (eqv? key KEY_LEFT)
|
||||
(eqv? key #\h))
|
||||
(move win y (- x 1)))
|
||||
((or (eqv? key KEY_RIGHT)
|
||||
(eqv? key #\l))
|
||||
(move win y (+ x 1)))
|
||||
((or (eqv? key KEY_UP)
|
||||
(eqv? key #\k))
|
||||
(move win (- y 1) x))
|
||||
((or (eqv? key KEY_DOWN)
|
||||
(eqv? key #\j))
|
||||
(move win (+ y 1) x))
|
||||
((eqv? key #\i) 'insert-mode)
|
||||
((eqv? key #\q)
|
||||
(endwin)
|
||||
|
|
Loading…
Reference in New Issue