summaryrefslogtreecommitdiff
path: root/src/curses
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-03-29 02:59:32 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-03-29 02:59:32 +0900
commit2a167aa030b244060fc479d2b88fdb9b9171d026 (patch)
tree69b994e5b97ad9a07107569fcb1227de7c886cbb /src/curses
parent9cfecf7f0bb52441c27b769427fdf05f45b3110d (diff)
downloadfzf-2a167aa030b244060fc479d2b88fdb9b9171d026.tar.gz
Implement --expect option to support simple key bindings (#163)
Diffstat (limited to 'src/curses')
-rw-r--r--src/curses/curses.go25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/curses/curses.go b/src/curses/curses.go
index dfd7cf51..d6aafd71 100644
--- a/src/curses/curses.go
+++ b/src/curses/curses.go
@@ -61,10 +61,20 @@ const (
PgUp
PgDn
+ F1
+ F2
+ F3
+ F4
+
+ AltBS
+ AltA
AltB
- AltF
+ AltC
AltD
- AltBS
+ AltE
+ AltF
+
+ AltZ = AltA + 'z' - 'a'
)
// Pallete
@@ -324,6 +334,14 @@ func escSequence(sz *int) Event {
return Event{CtrlE, 0, nil}
case 77:
return mouseSequence(sz)
+ case 80:
+ return Event{F1, 0, nil}
+ case 81:
+ return Event{F2, 0, nil}
+ case 82:
+ return Event{F3, 0, nil}
+ case 83:
+ return Event{F4, 0, nil}
case 49, 50, 51, 52, 53, 54:
if len(_buf) < 4 {
return Event{Invalid, 0, nil}
@@ -369,6 +387,9 @@ func escSequence(sz *int) Event {
} // _buf[2]
} // _buf[2]
} // _buf[1]
+ if _buf[1] >= 'a' && _buf[1] <= 'z' {
+ return Event{AltA + int(_buf[1]) - 'a', 0, nil}
+ }
return Event{Invalid, 0, nil}
}