Commit Graph

186 Commits

Author SHA1 Message Date
Paul LeoNerd Evans 215b02e77f Represent Ctrl-letter in lowercase in the struct, so as one day to be able to do Ctrl-Shift-letter. Make sure ^X notation is still capital 2008-12-10 01:34:40 +00:00
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