2ba9849ab5Public interface for MOUSE support
Paul LeoNerd Evans
2009-11-24 01:22:55 +0000
513e0ac59bBugfix to termkey_format_key() in FORMAT_CARETCTRL case when formatting Ctrl-Letter
Paul LeoNerd Evans
2009-11-23 23:59:46 +0000
83c7c3f668Cope with building distdir at minor versions .3 (otherwise it clashes with *.3)
Paul LeoNerd Evans
2009-07-15 20:52:35 +0100
be998cef1bRenamed all type names to CamelCaseNames for visual distinctness, separate from variables/functions
Paul LeoNerd Evans
2009-07-15 20:40:44 +0100
af50967d12Substitute version into termkey.pc.in at 'make dist' time
Paul LeoNerd Evans
2008-12-15 20:49:59 +0000
51ed20590aBump VERSION_MAJOR to 0.2
Paul LeoNerd Evans
2008-12-12 00:43:52 +0000
215b02e77fRepresent 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
Paul LeoNerd Evans
2008-12-10 01:34:40 +0000
9f1e7b34ebResort 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
Paul LeoNerd Evans
2008-12-10 01:03:43 +0000
696c145599Make termkey_getkey() set a peeked key structure if it returns TERMKEY_RET_AGAIN
Paul LeoNerd Evans
2008-12-10 00:38:21 +0000
ef669c134dComplete change of driver internals - peek and return size but don't eat bytes; eat later in getkey()
Paul LeoNerd Evans
2008-12-10 00:23:47 +0000
eee8ddcee3Linefeed properly in main() in demo files
Paul LeoNerd Evans
2008-12-08 22:54:14 +0000
d54b7b4274Documentation fix for termkey_get_fd - returns int, not void
Paul LeoNerd Evans
2008-12-02 23:06:08 +0000
c10d6f02e4Make 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
Paul LeoNerd Evans
2008-12-06 00:03:48 +0000
97a47e9b16Make common static function getkey(), roll functionallity of termkey_getkey{,_force}() into it
Paul LeoNerd Evans
2008-12-05 23:55:44 +0000
43a99e64f2strdup() the terminfo keypad_local and keypad_xmit strings at construct time, in case multiple instances and they change beneath us
Paul LeoNerd Evans
2008-12-03 20:19:15 +0000
2c1bea4f15Use a C99 flexible array member rather than the [0] hack
Paul LeoNerd Evans
2008-12-02 01:05:47 +0000
2fba93b690Added termkey_keyname2sym() to API
Paul LeoNerd Evans
2008-12-02 00:56:43 +0000
f75bdf1516Added termkey_get_fd() to API
Paul LeoNerd Evans
2008-12-01 22:36:14 +0000
8737046c4dExtra documentation about the three types of key event structure, and what the code members mean
Paul LeoNerd Evans
2008-11-30 12:43:13 +0000
39b810f0b8Use shell natively to embed demo .c files in manpages rather than invoking sed, because OpenBSD's sed doesn't seem to like this
Paul LeoNerd Evans
2008-11-28 19:58:16 +0000
d245285df2Cast 'term' to (non-const) char* when passing to setupterm() because terminfo's prototypes don't use const
Paul LeoNerd Evans
2008-11-28 19:48:41 +0000
fef558eeb4Use sizeof() on assigned variables rather than types, to make code a little less fragile to type changes
Paul LeoNerd Evans
2008-11-24 22:15:43 +0000
2cfa31e610Make on_key() static in demo-async.c to shut up silly GCC warnings
Paul LeoNerd Evans
2008-11-24 22:07:13 +0000
c6ff878411Fixed another signed-vs-unsigned int comparison in driver-ti.c
Paul LeoNerd Evans
2008-11-24 22:06:14 +0000
85be2846c3Make sure l is always initialised in termkey_snprint_key()
Paul LeoNerd Evans
2008-11-24 22:05:06 +0000
c8011f4bfdMake termkey_new_full() static for now until we expose the API fully
Paul LeoNerd Evans
2008-11-24 22:03:23 +0000
f3f4519561Fixed some signed/unsigned integer mismatches, including one important bug
Paul LeoNerd Evans
2008-11-24 21:58:55 +0000
a40e9961d9Export a gzip rather than bzip2 archive
Paul LeoNerd Evans
2008-11-24 21:47:18 +0000
5c428818ddBump VERSION_MINOR to 0.1
Paul LeoNerd Evans
2008-11-18 16:58:37 +0000
0dc23ed684Remove actual .so file on 'make clean'
Paul LeoNerd Evans
2008-11-18 16:24:28 +0000
69196bcf1fInstall to SONAME.MINOR and symlink to SONAME and basename
Paul LeoNerd Evans
2008-11-18 15:57:59 +0000
14561e2a30Only print about unrecognised terminfo variable names when debugging
Paul LeoNerd Evans
2008-11-18 15:55:29 +0000
56634d0c82Also added 'make dist' target to build distribution tarball
Paul LeoNerd Evans
2008-11-18 15:46:29 +0000
223d5b19a2Split Makefile into two halves; added 'make distdir' target for building distribution tarballs
Paul LeoNerd Evans
2008-11-18 15:37:37 +0000
c41763c60aDocument the TERMKEY_CHECK_VERSION macro
Paul LeoNerd Evans
2008-11-18 12:19:29 +0000
297cec0681Better Makefile support for built manpages and termkey.h file
Paul LeoNerd Evans
2008-11-18 11:55:08 +0000
480e30539bAdded .bzrignore patterns for other built files
Paul LeoNerd Evans
2008-11-16 12:44:02 +0000
4f73b850c5Added compile-vs-runtime library version checks
Paul LeoNerd Evans
2008-11-16 12:40:14 +0000
c2dd9675d6Store major and minor version number in Makefile; substitute #defines in termkey.h at build time
Paul LeoNerd Evans
2008-11-16 12:28:38 +0000
4a108d4916Compress trie nodes down to extent maps after loading, to save memory
Paul LeoNerd Evans
2008-11-12 23:58:20 +0000
754214c200Use a trie instead of a linear list of sequence strings in the terminfo driver - nicer lookup properties
Paul LeoNerd Evans
2008-11-12 16:32:17 +0000
04e1926df6Handle malloc() failures during setup of driver-ti
Paul LeoNerd Evans
2008-11-12 16:10:58 +0000
62c5c97080Make CSI driver's debugging output messages on unrecognised sequences conditional on #ifdef DEBUG
Paul LeoNerd Evans
2008-11-12 13:02:30 +0000
927eaabae9CSI driver shouldn't eat sequences it doesn't understand; leave them for another driver
Paul LeoNerd Evans
2008-11-12 12:51:19 +0000
2c0d0f0f3cBugfix to 'unknown CSI' case in CSI driver - neater output message to avoid uninitialised ints
Paul LeoNerd Evans
2008-11-12 12:44:33 +0000
781c2160c3Added documentation on termkey_{get,set}_flags()
Paul LeoNerd Evans
2008-11-10 22:29:21 +0000
397a7fb683Added (undocumented) termkey_{get,set}_flags() calls to API
Paul LeoNerd Evans
2008-11-10 21:21:19 +0000
9757a73daaCSI driver should also load when TERM=screen because of screen's stupid way of blind-forwarding keypresses it doesn't understand
Paul LeoNerd Evans
2008-11-09 22:41:44 +0000
30a3356815Implemented free_driver() in terminfo driver
Paul LeoNerd Evans
2008-11-09 22:38:10 +0000
20cc4b1701When debugging, also print details of a key event when applicable
Paul LeoNerd Evans
2008-11-09 21:58:30 +0000
fd2466c4ceLoad terminfo triver before CSI; in case they both apply
Paul LeoNerd Evans
2008-11-09 20:04:14 +0000
73cee7f0b0Allow stacking drivers in a linked list; try all of them at getkey() time
Paul LeoNerd Evans
2008-11-09 19:58:11 +0000
aef2e91277If debugging, print verbose output about internals of getkey operation
Paul LeoNerd Evans
2008-11-09 19:48:06 +0000
09edf2377fDriver getkey() can return TERMKEY_RES_NONE which attempts getkey_simple() afterwards
Paul LeoNerd Evans
2008-11-09 19:45:43 +0000
de74ffa67fgetkey_simple() should return TERMKEY_RES_NONE if no bytes available; as a safety check
Paul LeoNerd Evans
2008-11-09 19:29:30 +0000
0483eacb68Print name of driver on startup if debugging
Paul LeoNerd Evans
2008-11-08 17:56:57 +0000
d50d772ca5Drivers have names
Paul LeoNerd Evans
2008-11-08 17:56:44 +0000
e880602944Pass driver_info as explicit void* parameter into driver methods
Paul LeoNerd Evans
2008-11-08 17:47:57 +0000
9969e197baPass 'csi' value to static helper functions in driver-csi
Paul LeoNerd Evans
2008-11-08 17:43:51 +0000
9cd46fcea3Renamed termkey_{set,get}waittime() to termkey_{set,get}_waittime() to be more consistent
Paul LeoNerd Evans
2008-11-06 20:29:50 +0000
023943c738Don't document the termkey_free() function as it doesn't restore termios; document termkey_destroy() instead
Paul LeoNerd Evans
2008-11-06 19:50:53 +0000
9aaf16888cInclude demo.c and demo-async.c in the manpages under an EXAMPLE section
Paul LeoNerd Evans
2008-11-06 19:40:28 +0000
9df6f621b9Added asynchronous demo which uses poll()
Paul LeoNerd Evans
2008-11-06 19:33:07 +0000
c2496a38beAlso document termkey_advisereadable()
Paul LeoNerd Evans
2008-11-06 00:56:01 +0000
388782b89bAdded manpages for (most of) the external API functions
Paul LeoNerd Evans
2008-11-06 00:02:41 +0000
6adbb40f6eNeater bitfield constants in .h file; added docs of TERMKEY_FORMAT_* constants
Paul LeoNerd Evans
2008-11-03 21:23:59 +0000
c0f839c40dMake sure all .c->.o builds depend on all .h files
Paul LeoNerd Evans
2008-11-03 21:22:47 +0000
a2f3d807f8Better handling of incomplete UTF-8 sequences - just emit a UTF8_INVALID if waittime is up
Paul LeoNerd Evans
2008-11-03 21:10:14 +0000
76147e92d4Better handling in termkey_waitkey() of EOF conditions
Paul LeoNerd Evans
2008-11-03 21:08:34 +0000
86933f1836Reuse common Esc-prefix code in getkey_simple() from CSI driver; avoids code duplication
Paul LeoNerd Evans
2008-11-03 14:46:42 +0000
ca485ca670Bugfix to recursive 'meta-' getkey code - handle buffcount too
Paul LeoNerd Evans
2008-11-03 14:45:59 +0000
7b42e9bfb7Some platforms need -fPIC when compiling C code for eventual use in a shared library
Paul LeoNerd Evans
2008-11-03 14:02:04 +0000
1c46f5edfaRecognise 'key_mouse' as an ignored terminfo key
Paul LeoNerd Evans
2008-11-02 22:16:03 +0000
ca2bbaf251Install a .pc file so that pkg-config works
Paul LeoNerd Evans
2008-11-02 18:37:29 +0000
aef409c460Terminfo driver needs to put terminal into 'keypad_xmit' mode when starting
Paul LeoNerd Evans
2008-11-02 17:59:30 +0000
5107112a91Added new driver virtual methods 'start_driver' and 'stop_driver'
Paul LeoNerd Evans
2008-11-02 17:54:24 +0000
1d4d908cb8Remeber to handle Esc-prefixed keypresses in base getkey_simple() function - involves some code duplication with CSI driver currently
Paul LeoNerd Evans
2008-11-02 14:54:33 +0000
62d4e7eccbPass the 'force' value through to getkey_simple()
Paul LeoNerd Evans
2008-11-02 14:43:19 +0000
e5ff066539Added 'make install' target
Paul LeoNerd Evans
2008-11-02 14:22:34 +0000
6574198993Adjusted Makefile to build a shared library
Paul LeoNerd Evans
2008-11-02 14:18:16 +0000
bb00cd64b1Added many more key symbols and names + translations from terminfo
Paul LeoNerd Evans
2008-10-10 01:11:24 +0100
2ceb64261aBinary search terminfo funcname => termkey sym conversion, rather than linear
Paul LeoNerd Evans
2008-10-10 00:44:13 +0100
fd769d621e'int' might not be wide enough to hold any Unicode codepoint; use 'long'
Paul LeoNerd Evans
2008-10-10 00:50:56 +0100
37156ad580Added some TODO notes about handling realloc() failures
Paul LeoNerd Evans
2008-10-09 23:53:35 +0100
2b08f88f19Better free() tracking in constructor failure cases
Paul LeoNerd Evans
2008-10-09 23:19:10 +0100
286532e602Respect user's CC and CFLAGS
Paul LeoNerd Evans
2008-10-09 23:05:40 +0100
247fae6a72Gracefully handle constructor failure rather than SEGV
Paul LeoNerd Evans
2008-10-09 22:41:07 +0100
05639c4773Pass 'term' string into new_driver virtual method; have drivers sensitive to it and return NULL if they can't handle. Try CSI driver first; only for xterm-alikes
Paul LeoNerd Evans
2008-10-09 20:23:45 +0100
a61b916c18Adjustment to demo.c; just print the vim style format
Paul LeoNerd Evans
2008-10-08 02:06:00 +0100
c974e61a8dAdded initial attempt at a terminfo-driven driver
Paul LeoNerd Evans
2008-10-08 02:04:47 +0100
e76b195c59Moved all of the keynames out from driver-csi into termkey; where they belong
Paul LeoNerd Evans
2008-10-08 02:00:22 +0100
9f7d84ba81Register keynames using a more extensible internal array; easier to add new ones
Paul LeoNerd Evans
2008-10-08 01:52:53 +0100
a80c10e90fTiny bugfix to termkey.c's initialiser; actually handle multiple driver search properly
Paul LeoNerd Evans
2008-10-08 00:53:59 +0100
10d3024a6aPass an explicit 'force' parameter into driver's getkey rather than relying on non-zero waittime
Paul LeoNerd Evans
2008-10-08 00:44:33 +0100
ac6cae29bbMoved single byte and UTF-8 sequence recombiner out of driver-csi.c back into termkey.c
Paul LeoNerd Evans
2008-10-08 00:36:27 +0100
d46f72fc1aMoved all of the C0 registration and 'do_codepoint' logic out of driver-csi back into termkey via another protected method 'emit_codepoint'
Paul LeoNerd Evans
2008-10-08 00:12:41 +0100
8407c53726s/eatbytes/eat_bytes/ - nicer API name
Paul LeoNerd Evans
2008-10-07 23:57:01 +0100
145dca73b2Moved 'eatbytes' back into core code, put a code ptr in the termkey struct as a "protected" method
Paul LeoNerd Evans
2008-10-07 22:22:59 +0100
8b7c2b5d4fSupport a list of potential backend drivers
Paul LeoNerd Evans
2008-10-07 03:17:06 +0100
d7358c43afMoved CSI key registration code to be private to CSI driver
Paul LeoNerd Evans
2008-10-06 23:53:25 +0100