Commit Graph

335 Commits

Author SHA1 Message Date
Paul LeoNerd Evans
9f1e7b34eb Resort back to using GNU sed in .sh built manpages, as we only need them at 'make dist' time now; doesn't matter that BSD can't run them 2008-12-10 01:03:43 +00:00
Paul LeoNerd Evans
696c145599 Make termkey_getkey() set a peeked key structure if it returns TERMKEY_RET_AGAIN 2008-12-10 00:38:21 +00:00
Paul LeoNerd Evans
ef669c134d Complete change of driver internals - peek and return size but don't eat bytes; eat later in getkey() 2008-12-10 00:23:47 +00:00
Paul LeoNerd Evans
eee8ddcee3 Linefeed properly in main() in demo files 2008-12-08 22:54:14 +00:00
Paul LeoNerd Evans
d54b7b4274 Documentation fix for termkey_get_fd - returns int, not void 2008-12-02 23:06:08 +00:00
Paul LeoNerd Evans
c10d6f02e4 Make sure only to slide buffer down when returning a real key to the user, or else it might upset the meta-key logic when it returns 2008-12-06 00:03:48 +00:00
Paul LeoNerd Evans
97a47e9b16 Make common static function getkey(), roll functionallity of termkey_getkey{,_force}() into it 2008-12-05 23:55:44 +00:00
Paul LeoNerd Evans
43a99e64f2 strdup() the terminfo keypad_local and keypad_xmit strings at construct time, in case multiple instances and they change beneath us 2008-12-03 20:19:15 +00:00
Paul LeoNerd Evans
2c1bea4f15 Use a C99 flexible array member rather than the [0] hack 2008-12-02 01:05:47 +00:00
Paul LeoNerd Evans
2fba93b690 Added termkey_keyname2sym() to API 2008-12-02 00:56:43 +00:00
Paul LeoNerd Evans
f75bdf1516 Added termkey_get_fd() to API 2008-12-01 22:36:14 +00:00
Paul LeoNerd Evans
8737046c4d Extra documentation about the three types of key event structure, and what the code members mean 2008-11-30 12:43:13 +00:00
Paul LeoNerd Evans
39b810f0b8 Use shell natively to embed demo .c files in manpages rather than invoking sed, because OpenBSD's sed doesn't seem to like this 2008-11-28 19:58:16 +00:00
Paul LeoNerd Evans
d245285df2 Cast 'term' to (non-const) char* when passing to setupterm() because terminfo's prototypes don't use const 2008-11-28 19:48:41 +00:00
Paul LeoNerd Evans
fef558eeb4 Use sizeof() on assigned variables rather than types, to make code a little less fragile to type changes 2008-11-24 22:15:43 +00:00
Paul LeoNerd Evans
2cfa31e610 Make on_key() static in demo-async.c to shut up silly GCC warnings 2008-11-24 22:07:13 +00:00
Paul LeoNerd Evans
c6ff878411 Fixed another signed-vs-unsigned int comparison in driver-ti.c 2008-11-24 22:06:14 +00:00
Paul LeoNerd Evans
85be2846c3 Make sure l is always initialised in termkey_snprint_key() 2008-11-24 22:05:06 +00:00
Paul LeoNerd Evans
c8011f4bfd Make termkey_new_full() static for now until we expose the API fully 2008-11-24 22:03:23 +00:00
Paul LeoNerd Evans
f3f4519561 Fixed some signed/unsigned integer mismatches, including one important bug 2008-11-24 21:58:55 +00:00
Paul LeoNerd Evans
a40e9961d9 Export a gzip rather than bzip2 archive 2008-11-24 21:47:18 +00:00
Paul LeoNerd Evans
5c428818dd Bump VERSION_MINOR to 0.1 2008-11-18 16:58:37 +00:00
Paul LeoNerd Evans
0dc23ed684 Remove actual .so file on 'make clean' 2008-11-18 16:24:28 +00:00
Paul LeoNerd Evans
69196bcf1f Install to SONAME.MINOR and symlink to SONAME and basename 2008-11-18 15:57:59 +00:00
Paul LeoNerd Evans
14561e2a30 Only print about unrecognised terminfo variable names when debugging 2008-11-18 15:55:29 +00:00
Paul LeoNerd Evans
56634d0c82 Also added 'make dist' target to build distribution tarball 2008-11-18 15:46:29 +00:00
Paul LeoNerd Evans
223d5b19a2 Split Makefile into two halves; added 'make distdir' target for building distribution tarballs 2008-11-18 15:37:37 +00:00
Paul LeoNerd Evans
c41763c60a Document the TERMKEY_CHECK_VERSION macro 2008-11-18 12:19:29 +00:00
Paul LeoNerd Evans
297cec0681 Better Makefile support for built manpages and termkey.h file 2008-11-18 11:55:08 +00:00
Paul LeoNerd Evans
480e30539b Added .bzrignore patterns for other built files 2008-11-16 12:44:02 +00:00
Paul LeoNerd Evans
4f73b850c5 Added compile-vs-runtime library version checks 2008-11-16 12:40:14 +00:00
Paul LeoNerd Evans
c2dd9675d6 Store major and minor version number in Makefile; substitute #defines in termkey.h at build time 2008-11-16 12:28:38 +00:00
Paul LeoNerd Evans
4a108d4916 Compress trie nodes down to extent maps after loading, to save memory 2008-11-12 23:58:20 +00:00
Paul LeoNerd Evans
754214c200 Use a trie instead of a linear list of sequence strings in the terminfo driver - nicer lookup properties 2008-11-12 16:32:17 +00:00
Paul LeoNerd Evans
04e1926df6 Handle malloc() failures during setup of driver-ti 2008-11-12 16:10:58 +00:00
Paul LeoNerd Evans
62c5c97080 Make CSI driver's debugging output messages on unrecognised sequences conditional on #ifdef DEBUG 2008-11-12 13:02:30 +00:00
Paul LeoNerd Evans
927eaabae9 CSI driver shouldn't eat sequences it doesn't understand; leave them for another driver 2008-11-12 12:51:19 +00:00
Paul LeoNerd Evans
2c0d0f0f3c Bugfix to 'unknown CSI' case in CSI driver - neater output message to avoid uninitialised ints 2008-11-12 12:44:33 +00:00
Paul LeoNerd Evans
781c2160c3 Added documentation on termkey_{get,set}_flags() 2008-11-10 22:29:21 +00:00
Paul LeoNerd Evans
397a7fb683 Added (undocumented) termkey_{get,set}_flags() calls to API 2008-11-10 21:21:19 +00:00
Paul LeoNerd Evans
9757a73daa CSI driver should also load when TERM=screen because of screen's stupid way of blind-forwarding keypresses it doesn't understand 2008-11-09 22:41:44 +00:00
Paul LeoNerd Evans
30a3356815 Implemented free_driver() in terminfo driver 2008-11-09 22:38:10 +00:00
Paul LeoNerd Evans
20cc4b1701 When debugging, also print details of a key event when applicable 2008-11-09 21:58:30 +00:00
Paul LeoNerd Evans
fd2466c4ce Load terminfo triver before CSI; in case they both apply 2008-11-09 20:04:14 +00:00
Paul LeoNerd Evans
73cee7f0b0 Allow stacking drivers in a linked list; try all of them at getkey() time 2008-11-09 19:58:11 +00:00
Paul LeoNerd Evans
aef2e91277 If debugging, print verbose output about internals of getkey operation 2008-11-09 19:48:06 +00:00
Paul LeoNerd Evans
09edf2377f Driver getkey() can return TERMKEY_RES_NONE which attempts getkey_simple() afterwards 2008-11-09 19:45:43 +00:00
Paul LeoNerd Evans
de74ffa67f getkey_simple() should return TERMKEY_RES_NONE if no bytes available; as a safety check 2008-11-09 19:29:30 +00:00
Paul LeoNerd Evans
0483eacb68 Print name of driver on startup if debugging 2008-11-08 17:56:57 +00:00
Paul LeoNerd Evans
d50d772ca5 Drivers have names 2008-11-08 17:56:44 +00:00