Commit Graph

398 Commits

Author SHA1 Message Date
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
Paul LeoNerd Evans 31414eac3b Implement waittime polling to try to distinguish Esc, 1 from A-1, etc.. on slow terminals 2008-02-10 20:22:33 +00:00
Paul LeoNerd Evans c71e1928a2 Have 'termkey_advisereadable' return a value indicating if it's likely useful to call it again 2008-02-10 19:23:18 +00:00
Paul LeoNerd Evans b3647c4861 Avoid a memmove() every character by storing an intial offset for the input buffer, and only moving when it's more than half way across 2008-02-10 19:15:29 +00:00
Paul LeoNerd Evans 354ba6b7c3 Allow registered keyinfo for C0/CSI/SS3/CSIfunc to override modifier bits; use this to implement Shift-Tab as CSI Z 2008-02-10 19:03:36 +00:00
Paul LeoNerd Evans 35d946e510 Also register 0x0d as another version of the ENTER key 2008-02-10 18:40:27 +00:00
Paul LeoNerd Evans f76b62a65a Interpret XTerm's CSI 27 ~ as modified generic key, report keypresses as appropriate 2008-02-10 18:19:43 +00:00
Paul LeoNerd Evans fd15f30120 Move most functionallity from getkey to 'do_codepoint()' 2008-02-10 18:13:17 +00:00
Paul LeoNerd Evans 516a1766a5 Bugfix to fill_utf8() to make it actually work right 2008-02-10 18:12:19 +00:00
Paul LeoNerd Evans 9884031625 Allow C0 codes to be registered names like the CSI/SS3s 2008-02-10 17:46:48 +00:00
Paul LeoNerd Evans dc9672603a Define an 'int' typedef called termkey_keysym to use as keysym values 2008-02-10 17:41:13 +00:00
Paul LeoNerd Evans 96adbe9741 Avoid use of GLib; use fixed-size internal arrays for CSI/SS3->keycode lookup 2008-02-10 17:34:05 +00:00
Paul LeoNerd Evans 1e9eb3719a Interpret 8bit SS3/CSI codes and remaining C1s as C-A-letter 2008-02-10 15:28:07 +00:00
Paul LeoNerd Evans daed589b5c Handle (normal cases) of UTF-8 - still doesn't handle C1/UTF-8 range yet 2008-02-09 19:30:37 +00:00
Paul LeoNerd Evans 64d0b4cb70 Cope correctly with EOF 2008-02-09 19:01:49 +00:00
Paul LeoNerd Evans 1f6ae5e40d Replaced custom arg1/arg2 CSI parser with generic arg[16] one 2008-02-07 02:47:15 +00:00
Paul LeoNerd Evans 63ed80a897 Reworking of CSI/SS3/CSIfunc recognition; use registered numbers + names for keys, rather than hardcoded 2008-02-07 02:21:14 +00:00
Paul LeoNerd Evans 6294cca6f9 Denote general status with return codes, not special key symbols 2008-02-07 01:17:59 +00:00
Paul LeoNerd Evans a503403226 Initial attempt 2008-02-07 00:58:41 +00:00