Commit Graph

68 Commits

Author SHA1 Message Date
Paul LeoNerd Evans
aef409c460 Terminfo driver needs to put terminal into 'keypad_xmit' mode when starting 2008-11-02 17:59:30 +00:00
Paul LeoNerd Evans
5107112a91 Added new driver virtual methods 'start_driver' and 'stop_driver' 2008-11-02 17:54:24 +00:00
Paul LeoNerd Evans
1d4d908cb8 Remeber to handle Esc-prefixed keypresses in base getkey_simple() function - involves some code duplication with CSI driver currently 2008-11-02 14:54:33 +00:00
Paul LeoNerd Evans
62d4e7eccb Pass the 'force' value through to getkey_simple() 2008-11-02 14:43:19 +00:00
Paul LeoNerd Evans
e5ff066539 Added 'make install' target 2008-11-02 14:22:34 +00:00
Paul LeoNerd Evans
6574198993 Adjusted Makefile to build a shared library 2008-11-02 14:18:16 +00:00
Paul LeoNerd Evans
bb00cd64b1 Added many more key symbols and names + translations from terminfo 2008-10-10 01:11:24 +01:00
Paul LeoNerd Evans
2ceb64261a Binary search terminfo funcname => termkey sym conversion, rather than linear 2008-10-10 00:44:13 +01:00
Paul LeoNerd Evans
fd769d621e 'int' might not be wide enough to hold any Unicode codepoint; use 'long' 2008-10-10 00:50:56 +01:00
Paul LeoNerd Evans
37156ad580 Added some TODO notes about handling realloc() failures 2008-10-09 23:53:35 +01:00
Paul LeoNerd Evans
2b08f88f19 Better free() tracking in constructor failure cases 2008-10-09 23:19:10 +01:00
Paul LeoNerd Evans
286532e602 Respect user's CC and CFLAGS 2008-10-09 23:05:40 +01:00
Paul LeoNerd Evans
247fae6a72 Gracefully handle constructor failure rather than SEGV 2008-10-09 22:41:07 +01:00
Paul LeoNerd Evans
05639c4773 Pass 'term' string into new_driver virtual method; have drivers sensitive to it and return NULL if they can't handle. Try CSI driver first; only for xterm-alikes 2008-10-09 20:23:45 +01:00
Paul LeoNerd Evans
a61b916c18 Adjustment to demo.c; just print the vim style format 2008-10-08 02:06:00 +01:00
Paul LeoNerd Evans
c974e61a8d Added initial attempt at a terminfo-driven driver 2008-10-08 02:04:47 +01:00
Paul LeoNerd Evans
e76b195c59 Moved all of the keynames out from driver-csi into termkey; where they belong 2008-10-08 02:00:22 +01:00
Paul LeoNerd Evans
9f7d84ba81 Register keynames using a more extensible internal array; easier to add new ones 2008-10-08 01:52:53 +01:00
Paul LeoNerd Evans
a80c10e90f Tiny bugfix to termkey.c's initialiser; actually handle multiple driver search properly 2008-10-08 00:53:59 +01:00
Paul LeoNerd Evans
10d3024a6a Pass an explicit 'force' parameter into driver's getkey rather than relying on non-zero waittime 2008-10-08 00:44:33 +01:00
Paul LeoNerd Evans
ac6cae29bb Moved single byte and UTF-8 sequence recombiner out of driver-csi.c back into termkey.c 2008-10-08 00:36:27 +01:00
Paul LeoNerd Evans
d46f72fc1a Moved all of the C0 registration and 'do_codepoint' logic out of driver-csi back into termkey via another protected method 'emit_codepoint' 2008-10-08 00:12:41 +01:00
Paul LeoNerd Evans
8407c53726 s/eatbytes/eat_bytes/ - nicer API name 2008-10-07 23:57:01 +01:00
Paul LeoNerd Evans
145dca73b2 Moved 'eatbytes' back into core code, put a code ptr in the termkey struct as a "protected" method 2008-10-07 22:22:59 +01:00
Paul LeoNerd Evans
8b7c2b5d4f Support a list of potential backend drivers 2008-10-07 03:17:06 +01:00
Paul LeoNerd Evans
d7358c43af Moved CSI key registration code to be private to CSI driver 2008-10-06 23:53:25 +01:00
Paul LeoNerd Evans
e3eca8d51a Use vtable in driver to indirect calls to the CSI driver 2008-10-06 23:36:14 +01:00
Paul LeoNerd Evans
f5c6ecf9af Moved CSI-related code out of termkey.c into new driver-csi.c 2008-10-06 23:27:19 +01:00
Paul LeoNerd Evans
d871cb39c6 Makefile now sensitive to DEBUG=1 2008-10-06 23:24:54 +01:00
Paul LeoNerd Evans
ae8aafdee0 Define 'TERMKEY_FORMAT_VIM' as a shortcut to make it format keys like Vim does 2008-10-06 22:39:35 +01:00
Paul LeoNerd Evans
e0671d1a01 Print Alt/Meta before Ctrl 2008-10-06 22:39:00 +01:00
Paul LeoNerd Evans
0b8680daa4 Added TERMKEY_FORMAT_WRAPBRACKET 2008-10-06 22:33:49 +01:00
Paul LeoNerd Evans
5b24e42d90 Added two more formatting options; CARETCTRL and ALTISMETA 2008-10-06 22:22:09 +01:00
Paul LeoNerd Evans
f54687c583 snprint_key() now takes a bitmask format, not a single boolean 2008-10-06 22:02:12 +01:00
Paul LeoNerd Evans
a06d010504 Added termkey_snprint_key() to render nice string outputs of key events 2008-08-21 20:20:07 +01:00
Paul LeoNerd Evans
95e87a86d5 Reworked events to be type/code/mod rather than flags/code/mod; make F[n] keys their own (parametric) type, rather than using keysyms for them 2008-08-21 20:05:17 +01:00
Paul LeoNerd Evans
d4ace41d01 Renamed .h file's include guard to avoid a C reserved identifier space 2008-03-20 20:38:23 +00:00
Paul LeoNerd Evans
eb2fed629d Cope correctly with XTerm's modified Unicode reporting of Ctrl-C for termination 2008-02-23 23:17:31 +00:00
Paul LeoNerd Evans
db22cc6dc7 Preserve modifiers on XTerm's CSI 27 ~ modified Unicode sequence 2008-02-23 23:15:19 +00:00
Paul LeoNerd Evans
9dfd4f1116 Renamed describe_sym to get_keyname 2008-02-23 20:28:18 +00:00
Paul LeoNerd Evans
46e53d124d Moved termios magic out of demo.c into termkey.c where it belongs 2008-02-23 20:26:04 +00:00
Paul LeoNerd Evans
8f8e96f015 Implemented termkey_free() 2008-02-23 20:07:48 +00:00
Paul LeoNerd Evans
dda9be9110 More termios settings on startup, to ensure reporting of signal, flow control, and NL/CR keys 2008-02-23 19:43:05 +00:00
Paul LeoNerd Evans
696d5258a5 Make sure to initialise key->modifiers on unmodified CSIs 2008-02-23 19:39:24 +00:00
Paul LeoNerd Evans
46ef83fdf4 Nicer names for modifiers on printed output 2008-02-23 19:37:27 +00:00
Paul LeoNerd Evans
efb04d3ee2 Rearranged Home/End keys to better suit rxvt's naming, note 1/4 are now Find/Select 2008-02-23 19:22:28 +00:00
Paul LeoNerd Evans
0962ee4f85 Recognise full CSIfuncs list of F1 to F20 keys 2008-02-10 20:39:22 +00:00
Paul LeoNerd Evans
14987e458c Bugfix for unknown CSIfuncs 2008-02-10 20:30:09 +00:00
Paul LeoNerd Evans
c36c12b53a Implement growing the buffer after input 2008-02-10 20:29:59 +00:00
Paul LeoNerd Evans
53b0d0aca9 More robust eatbytes() that guards against the buffer going negative, because size_t is not signed 2008-02-10 20:24:25 +00:00