6d6afe788c
Allow passing fd = -1 to constructor to make an instance not associated with an fd; must use push_bytes to provide it input
Paul LeoNerd Evans
2012-01-18 14:03:39 +00:00
82ad14175c
Added termkey_push_bytes(), a new API for providing input bytes
Paul LeoNerd Evans
2012-01-18 13:39:50 +00:00
082b49f0f8
Move the growing collection of manpages into their own man/ subdirectory
Paul LeoNerd Evans
2012-01-18 12:01:38 +00:00
d64ba87eda
Ensure that termkey_advisereadable() just fails with errno=ENOMEM rather than trying to read() zero bytes
Paul LeoNerd Evans
2012-01-18 10:36:50 +00:00
3474a45b14
Avoid push_bytes() entirely by read()ing directly into tk->buffer
Paul LeoNerd Evans
2012-01-18 10:07:36 +00:00
9534330003
Provide new API function to determine how much buffer space remains in the instance
Paul LeoNerd Evans
2012-01-18 10:04:15 +00:00
37d8f18ab5
Remove termkey_pushinput() from external API; declare static, rename it
Paul LeoNerd Evans
2012-01-18 09:36:36 +00:00
3e520f30e0
Bump VERSION to 0.11
Paul LeoNerd Evans
2011-11-30 17:53:38 +00:00
34b5d1ec9e
Minor manpage link fixups
Paul LeoNerd Evans
2011-09-29 20:18:49 +01:00
e768f02219
Optionally support unibilium for reading terminfo instead of curses
Paul LeoNerd Evans
2011-09-24 00:04:01 +01:00
7d623be041
Abstract out ld flags in Makefile
Paul LeoNerd Evans
2011-09-23 23:50:13 +01:00
d8f6551972
Neaten logic by loading terminfo strings in a separate function from the constructor
Paul LeoNerd Evans
2011-09-23 23:40:54 +01:00
0a65f60df1
Bumped VERSION to 0.10
Paul LeoNerd Evans
2011-09-06 23:02:57 +01:00
8f32ac525f
Canonicalise (a local copy of) the key structures given to termkey_keycmp() before comparing them
Paul LeoNerd Evans
2011-09-06 22:49:05 +01:00
3008ed29d1
A few more DEBUG fprintf(stderr)s at construction time
Paul LeoNerd Evans
2011-09-05 14:14:09 +01:00
3fb6f398e9
Handle TERMKEY_RES_ERROR in (debugging mode) res2str()
Paul LeoNerd Evans
2011-09-05 13:58:15 +01:00
3a4a1b4ef0
Use $(VERSION) to set DISTDIR in Makefile, so make VERSION=... dist overrides its name
Paul LeoNerd Evans
2011-09-05 13:52:58 +01:00
8793934328
Allow a flag to convert ASCII DEL into Backspace
Paul LeoNerd Evans
2011-08-28 17:57:57 +01:00
2638499648
Move canonicalisation flags into their own bitfield with their own accessor and named constants
Paul LeoNerd Evans
2011-08-28 17:50:18 +01:00
7133517883
Remember to symlink termkey_get_flags(3) manpage at install time
Paul LeoNerd Evans
2011-08-28 17:47:11 +01:00
46eefda073
Provide an explicit termkey_canonicalise() function; canonicalise Space/SP in both directions
Paul LeoNerd Evans
2011-08-27 19:59:02 +01:00
83ca948d78
Deleted legacy type name typedefs and declaration of termkey_snprint_key()
Paul LeoNerd Evans
2011-08-27 19:32:39 +01:00
5fc3aff57a
Added a unit test to assert the correct behaviour of FLAG_SPACESYMBOL from waitkey
Paul LeoNerd Evans
2011-08-27 19:29:34 +01:00
23fefe409a
<poll.h> on Solaris needs _XOPEN_SOURCE 600 to ensure it gets sigset_t - Petr Pavlu
Paul LeoNerd Evans
2011-08-25 22:52:06 +01:00
427a98693e
optarg and friends want _XOPEN_SOURCE 600, and <unistd.h> - Petr Pavlu
Paul LeoNerd Evans
2011-08-25 22:49:51 +01:00
447a3e7ab9
strdup() needs 'define _XOPEN_SOURCE 600 - Petr Pavlu
Paul LeoNerd Evans
2011-08-25 22:49:17 +01:00
8efef8e088
Ensure c_cc[VMIN] and c_cc[VTIME] are properly defined, because Solaris seems not to set them - Petr Pavlu
Paul LeoNerd Evans
2011-08-25 22:41:43 +01:00
19122bb195
Link against -lcurses not -lncurses, because these two might be different on some OSes (e.g. Solaris) - Petr Pavlu
Paul LeoNerd Evans
2011-08-25 22:39:06 +01:00
0bafe17082
Bumped VERSION to 0.9
Paul LeoNerd Evans
2011-08-25 19:13:21 +01:00
1b8234e342
Provide a flag to return RES_ERROR even on signal (EINTR); without it, retry the operation
Paul LeoNerd Evans
2011-08-25 10:48:41 +01:00
7a2b79a640
Provide a new result value, TERMKEY_RES_ERROR to indicate an IO error - preserve errno
Paul LeoNerd Evans
2011-08-18 11:20:41 +01:00
01e5795098
Include a LICENSE file
Paul LeoNerd Evans
2011-07-01 17:05:35 +01:00
0686e9a51c
Put LIBDIR and INCDIR directly in termkey.pc; don't indirect via PREFIX as it might be incorrect
Paul LeoNerd Evans
2011-07-01 17:04:12 +01:00
b30f946117
Mouse position coordinates are unsigned
Paul LeoNerd Evans
2011-06-16 17:07:47 +01:00
6e99f8ab85
Ignore VDSUSP as a signal-sending key too, if platform defines it
Paul LeoNerd Evans
2011-05-28 11:55:46 +01:00
d3f441330b
sscanf'ing a size_t requires %zn
Paul LeoNerd Evans
2011-05-28 11:53:00 +01:00
650b4518b4
Bumped VERSION to 0.8
Paul LeoNerd Evans
2011-05-24 18:18:57 +01:00
ac14d7b504
Gracefully ignore read() yielding EINTR rather than bailing out
Paul LeoNerd Evans
2011-05-24 18:17:15 +01:00
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
Paul LeoNerd Evans
2011-05-24 16:45:10 +01:00
6b17f3f620
Disable ISIG mode entirely if FLAG_CTRLC is set
Paul LeoNerd Evans
2011-05-24 16:40:19 +01:00
41e9e0d39e
Also handle new 'fixterms' spec CSI codepoint;modifiers u encoding
Paul LeoNerd Evans
2011-05-09 16:43:05 +01:00
e90d8f45d7
demo.c needs to enable CTRLC flag to shut down mouse mode on exit
Paul LeoNerd Evans
2011-04-26 08:28:26 +01:00
03371bdd04
Bugfix to termkey_keycmp - implement sense in correct direction
Paul LeoNerd Evans
2011-04-07 23:31:43 +01:00
0a101ff71e
Bugfix termkey_strpkey parsing unicode with trailing content
Paul LeoNerd Evans
2011-04-07 20:19:34 +01:00
c626393aeb
Assert that termkey_strpkey's return points to endofstring after parse
Paul LeoNerd Evans
2011-04-07 20:14:44 +01:00
692ae5d6f2
Bumped VERSION to 0.7
Paul LeoNerd Evans
2011-04-07 17:38:08 +01:00
4ac0d752c4
Solaris requires #define _XPG6
Paul LeoNerd Evans
2011-04-04 22:26:25 +01:00
3b2861fac9
Refer to strfkey not snprint_key; add links to termkey_keycmp
Paul LeoNerd Evans
2011-04-04 19:56:33 +01:00
5b15abcd01
Fixed another couple of typoes in manpages
Paul LeoNerd Evans
2011-04-04 19:06:34 +01:00
f23a55ab82
Various minor neatenings to manpage formatting
Paul LeoNerd Evans
2011-04-03 18:44:48 +01:00
574754d5f1
Bugfixes to manpage layout - no need to .br when the demo is pulled in a .nf anyway; remember to escape slashes
Paul LeoNerd Evans
2011-04-03 00:27:02 +01:00
ad7d31ead8
Provide termkey_keycmp() for sorting purposes
Paul LeoNerd Evans
2011-04-02 15:07:30 +01:00
0468355389
Docs fix for termkey_strfkey
Paul LeoNerd Evans
2011-04-01 14:05:19 +01:00
d6d74d252f
Add a couple more 'const' markings to API functions where appropriate
Paul LeoNerd Evans
2011-04-01 13:55:36 +01:00
88230407fe
Adjust termkey_strpkey() API more like strptime(); return pointer to end of recognised section, allows for stream parsing
Paul LeoNerd Evans
2011-04-01 13:49:20 +01:00
dbb13defb7
Provide a termkey_lookup_keyname that can do partial buffer parsing
Paul LeoNerd Evans
2011-04-01 13:26:54 +01:00
6adb2324f5
Initial manpage for termkey_strpkey
Paul LeoNerd Evans
2011-04-01 11:11:50 +01:00
a3b8804018
Ensure strpkey can parse numbered function keys
Paul LeoNerd Evans
2011-04-01 10:48:15 +01:00
59800c356b
Unicode codepoint is stored in key->code.codepoint, not code.number
Paul LeoNerd Evans
2011-04-01 10:41:44 +01:00
6424282c4d
Partial implementation of termkey_strpkey(3); missing FORMAT_WRAPBRACKET and TYPE_FUNCTION support
Paul LeoNerd Evans
2011-04-01 00:50:51 +01:00
ee69b33c49
Neater implementation of key modifier names for strfkey; put them in a little table
Paul LeoNerd Evans
2011-04-01 00:26:02 +01:00
f1b3dff4c2
Extract UTF-8 sequence parser into its own function, fix bugs, apply unit tests
Paul LeoNerd Evans
2011-03-31 23:42:52 +01:00
739be0e55d
Added unit tests for UTF-8 parser
Paul LeoNerd Evans
2011-03-31 18:59:07 +01:00
7c9f24fc8e
Updated manpages for function rename sprint_key -> strfkey
Paul LeoNerd Evans
2011-03-31 15:42:32 +01:00
9b97244c54
Added some unit tests for termkey_strfkey(3)
Paul LeoNerd Evans
2011-03-31 14:10:35 +01:00
f17f21752b
strfkey should fill in the utf8 member of a key struct if it's empty
Paul LeoNerd Evans
2011-03-31 14:07:55 +01:00
5a6e289d23
#include termkey.h from the correct path in unit tests
Paul LeoNerd Evans
2011-03-31 13:51:21 +01:00
f230bc86fb
Added some unit tests for keyname <=> sym constant conversions
Paul LeoNerd Evans
2011-03-31 13:43:16 +01:00
1bf3c958b1
taplib's is_str() should take const char *
Paul LeoNerd Evans
2011-03-31 13:42:27 +01:00
be153dc5ee
Added some unit testing for termkey_getkey(3) and friends
Paul LeoNerd Evans
2011-03-31 12:47:09 +01:00
0ea0fb331b
is()-like testing for ints and strings
Paul LeoNerd Evans
2011-03-31 12:46:06 +01:00
9d7f0037a8
Remember to exit with exit_status() from unit testing
Paul LeoNerd Evans
2011-03-31 12:13:37 +01:00
3bbda921b7
Created a little Test::More-like library for TAP testing
Paul LeoNerd Evans
2011-03-31 12:11:19 +01:00
620038af72
bzr ignore t/*.t
Paul LeoNerd Evans
2011-03-31 11:41:14 +01:00
c228335bca
Created a unit-testing system using perl's prove
Paul LeoNerd Evans
2011-03-31 11:38:40 +01:00
26ef76349e
Renamed snprint_key() to strfkey(); provide redirection trampoline
Paul LeoNerd Evans
2011-03-31 11:08:43 +01:00
280047e745
Minor whitespace fixes in termkey.h.in
Paul LeoNerd Evans
2011-03-31 11:06:21 +01:00
824e7e157a
Provide guarded extern "C" { ... } wrapper for C++ compilers
Paul LeoNerd Evans
2011-03-30 20:32:51 +01:00
f93587a4c7
C++ compilers don't like trailing commas in enums; remove them
Paul LeoNerd Evans
2011-03-30 20:31:26 +01:00
391f795c67
include <curses.h> before <term.h> as it's required in that order on Solaris
Paul LeoNerd Evans
2011-03-30 20:24:06 +01:00
a0f86dcd98
Bumped VERSION_MINOR to 0.6
Paul LeoNerd Evans
2011-03-24 00:03:41 +00:00
9f0ef4953d
Don't steal Ctrl-C from the kernel by default (so leave SIGINT enabled); add a flag to take it if required
Paul LeoNerd Evans
2011-03-23 23:20:24 +00:00
a71f68dd57
Interpret space as Unicode by default, add a flag to make it symbolic instead
Paul LeoNerd Evans
2011-03-23 22:17:25 +00:00
ba0c32e8d8
Allow formatting the mouse position when rendering an event to a string
Paul LeoNerd Evans
2009-11-27 15:07:05 +00:00
571e5b701f
Make DEBUG=1 mode work with mouse events
Paul LeoNerd Evans
2009-11-27 14:56:38 +00:00
0ae5aea7ac
Moved code around so DEBUG=1 actually compiles again
Paul LeoNerd Evans
2009-11-27 14:50:58 +00:00
24f9711846
Return opaque mouse events in the key structure; add a function to interpret this into its component fields
Paul LeoNerd Evans
2009-11-27 14:36:29 +00:00
6dc2b9c72b
Implement mouse catching also in CSI driver, in case xterm-alike terminal without 'key_mouse' terminfo string
Paul LeoNerd Evans
2009-11-26 00:33:30 +00:00
c4bc0486d4
Moved mouse parsing code out of driver-ti.c into core termkey.c
Paul LeoNerd Evans
2009-11-26 00:27:58 +00:00
bdc22b8b3d
Remember to zero key->modifiers for mouse events
Paul LeoNerd Evans
2009-11-25 14:46:19 +00:00
ade9d760d3
Supply --tag=CC to libtool to inform it we're a C library; in case it doesn't detect that (mumble openbsd mumble)
Paul LeoNerd Evans
2009-11-25 14:36:44 +00:00
7d5b64ff3d
Bumped VERSION_MINOR to 0.4
Paul LeoNerd Evans
2009-11-25 02:31:10 +00:00
f2f2c03b56
Complete reworking of build system to use libtool
Paul LeoNerd Evans
2009-11-25 02:30:24 +00:00
d1842f8a00
Document the new mouse reporting interface
Paul LeoNerd Evans
2009-11-24 01:37:46 +00:00
c9d2bd93fd
Implement XTerm mouse parsing in terminfo driver
Paul LeoNerd Evans
2009-11-24 01:31:35 +00:00
7459a038fb
Make demo enable mouse mode if given on commandline
Paul LeoNerd Evans
2009-11-24 01:30:52 +00:00
ceeaf717bd
Print Mouse() rather than shouting MOUSE()
Paul LeoNerd Evans
2009-11-24 01:25:40 +00:00