Commit Graph

151 Commits

Author SHA1 Message Date
Paul LeoNerd Evans 24abb0c59e Added TERMKEY_FORMAT_SPACEMOD 2013-08-26 00:56:07 +01:00
Paul LeoNerd Evans 89ac8b058c Make some more things 'const' that should be 2013-07-15 01:03:35 +01:00
Paul LeoNerd Evans 5190963f1b Make sure to implement newer event types in debug function 2012-12-06 02:09:03 +00:00
Paul LeoNerd Evans 0be6f18019 Handle ANSI and DEC mode report CSIs 2012-11-30 16:34:47 +00:00
Paul LeoNerd Evans fdb44d9796 Moved the other termkey_interpret_*() functions into driver-csi.c where they arguably belong 2012-11-30 15:01:20 +00:00
Paul LeoNerd Evans 7b3dc4be71 Return a real key type for unrecognised CSI sequences; allow accessing them by termkey_interpret_csi() 2012-11-30 14:35:23 +00:00
Paul LeoNerd Evans f5cbf9eb57 Also handle CSI R; position report replies to CSI 6n 2012-04-24 17:27:48 +01:00
Paul LeoNerd Evans f33513282a Created abstract accessors for getting/setting key event line/col counts 2012-04-24 15:25:17 +01:00
Paul LeoNerd Evans 8cf0858276 Use spare bits in code.mouse[3] to store bigger mouse positions 2012-04-12 17:02:45 +01:00
Paul LeoNerd Evans 60b4bfaf72 Recognise SGR-style mouse encoding 2012-04-12 00:19:10 +01:00
Paul LeoNerd Evans 789a5a3c9d Extract modifiers for mouse events at peekkey time 2012-04-05 18:54:30 +01:00
Paul LeoNerd Evans 8237f3a1bc Have getkey/waitkey return RES_ERROR/EINVAL if stopped 2012-03-08 21:31:16 +00:00
Paul LeoNerd Evans cb00476f09 Added a termkey_is_started() accessor; unit test it a bit 2012-03-08 21:24:39 +00:00
Paul LeoNerd Evans 43a83e6e96 Move the terminal start/stop code into their own functions, exported (undocumented for now) 2012-03-08 21:15:25 +00:00
Paul LeoNerd Evans e252c497ae Added (undocumented) termkey_set_buffer_size() 2012-02-13 23:40:42 +00:00
Paul LeoNerd Evans 5779ec3cd1 Added (undocumented) termkey_get_buffer_size() 2012-02-13 21:57:33 +00:00
Paul LeoNerd Evans ee12c698da Document the errors set by termkey_new(), use errno rather than fprintf() to stderr 2012-01-29 16:13:38 +00:00
Paul LeoNerd Evans ea2d3073ac Created termkey_new_abstract() 2012-01-26 12:55:16 +00:00
Paul LeoNerd Evans 63f37cecd6 Move initialisation logic out of termkey_new into a static function 2012-01-26 10:13:03 +00:00
Paul LeoNerd Evans 8b46e65aa3 Use termkey_set_flags() in constructor rather than copypasted logic 2012-01-26 10:07:23 +00:00
Paul LeoNerd Evans f9fe338e3e Split termkey_new() into alloc and initialise phases 2012-01-26 10:06:05 +00:00
Paul LeoNerd Evans 4cf544f26c Also mark termkey.c's modnames as static 2012-01-22 18:56:08 +00:00
Paul LeoNerd Evans 229792aad7 Handle realloc() failures when registering key names 2012-01-20 18:03:08 +00:00
Paul LeoNerd Evans 541a4328db sscanf() %zn ought to take a ssize_t * 2012-01-20 17:01:38 +00:00
Paul LeoNerd Evans 052738b8f4 Allow {start,stop}_driver to fail, abort constructor, have driver-ti try to write the entire start/stop string or error out on -1 2012-01-20 17:00:09 +00:00
Paul LeoNerd Evans 6d6afe788c Allow passing fd = -1 to constructor to make an instance not associated with an fd; must use push_bytes to provide it input 2012-01-18 14:03:39 +00:00
Paul LeoNerd Evans 82ad14175c Added termkey_push_bytes(), a new API for providing input bytes 2012-01-18 13:39:50 +00:00
Paul LeoNerd Evans d64ba87eda Ensure that termkey_advisereadable() just fails with errno=ENOMEM rather than trying to read() zero bytes 2012-01-18 10:36:50 +00:00
Paul LeoNerd Evans 3474a45b14 Avoid push_bytes() entirely by read()ing directly into tk->buffer 2012-01-18 10:07:36 +00:00
Paul LeoNerd Evans 9534330003 Provide new API function to determine how much buffer space remains in the instance 2012-01-18 10:04:15 +00:00
Paul LeoNerd Evans 37d8f18ab5 Remove termkey_pushinput() from external API; declare static, rename it 2012-01-18 09:36:36 +00:00
Paul LeoNerd Evans 8f32ac525f Canonicalise (a local copy of) the key structures given to termkey_keycmp() before comparing them 2011-09-06 22:49:05 +01:00
Paul LeoNerd Evans 3008ed29d1 A few more DEBUG fprintf(stderr)s at construction time 2011-09-05 14:14:09 +01:00
Paul LeoNerd Evans 3fb6f398e9 Handle TERMKEY_RES_ERROR in (debugging mode) res2str() 2011-09-05 13:58:15 +01:00
Paul LeoNerd Evans 8793934328 Allow a flag to convert ASCII DEL into Backspace 2011-08-28 17:57:57 +01:00
Paul LeoNerd Evans 2638499648 Move canonicalisation flags into their own bitfield with their own accessor and named constants 2011-08-28 17:50:18 +01:00
Paul LeoNerd Evans 46eefda073 Provide an explicit termkey_canonicalise() function; canonicalise Space/SP in both directions 2011-08-27 19:59:02 +01:00
Paul LeoNerd Evans 83ca948d78 Deleted legacy type name typedefs and declaration of termkey_snprint_key() 2011-08-27 19:32:39 +01:00
Paul LeoNerd Evans 8efef8e088 Ensure c_cc[VMIN] and c_cc[VTIME] are properly defined, because Solaris seems not to set them - Petr Pavlu 2011-08-25 22:41:43 +01:00
Paul LeoNerd Evans 1b8234e342 Provide a flag to return RES_ERROR even on signal (EINTR); without it, retry the operation 2011-08-25 10:48:41 +01:00
Paul LeoNerd Evans 7a2b79a640 Provide a new result value, TERMKEY_RES_ERROR to indicate an IO error - preserve errno 2011-08-18 11:20:41 +01:00
Paul LeoNerd Evans b30f946117 Mouse position coordinates are unsigned 2011-06-16 17:07:47 +01:00
Paul LeoNerd Evans 6e99f8ab85 Ignore VDSUSP as a signal-sending key too, if platform defines it 2011-05-28 11:55:46 +01:00
Paul LeoNerd Evans d3f441330b sscanf'ing a size_t requires %zn 2011-05-28 11:53:00 +01:00
Paul LeoNerd Evans ac14d7b504 Gracefully ignore read() yielding EINTR rather than bailing out 2011-05-24 18:17:15 +01:00
Paul LeoNerd Evans dad0e5019c Use _POSIX_VDISABLE rather than hardcoded 0 to disable individual entries in termios.c_cc; most BSDs use 0xff rather than 0 for this value 2011-05-24 16:45:10 +01:00
Paul LeoNerd Evans 6b17f3f620 Disable ISIG mode entirely if FLAG_CTRLC is set 2011-05-24 16:40:19 +01:00
Paul LeoNerd Evans 03371bdd04 Bugfix to termkey_keycmp - implement sense in correct direction 2011-04-07 23:31:43 +01:00
Paul LeoNerd Evans 0a101ff71e Bugfix termkey_strpkey parsing unicode with trailing content 2011-04-07 20:19:34 +01:00
Paul LeoNerd Evans ad7d31ead8 Provide termkey_keycmp() for sorting purposes 2011-04-02 15:07:30 +01:00