Přemysl Eric Janouch
36bc6cd095
Move to iconv
...
That is the major change in this commit.
Also Ctrl-modified keys now should work in URxvt,
which was surprisingly trivial to achieve.
Coming up next:
- making sure the tests still work
- introducing CMake
2014-09-28 03:59:12 +02:00
Přemysl Eric Janouch
b630bf7a5f
WIP: Is mine now (^3^)
...
Seriously though, I've got some issues with how this thing is designed,
as well as with its formatting, and when you add the fact that the
original author wants to merge this thing into his bigger library that
also handles terminal output, which I'll kindly leave to ncurses,
it kind of makes sense for me to do this.
Manpages have been removed as they are going to become obsolete and
they're rather difficult to maintain. If anything, there will be
Doxygen-generated documentation.
The plan is to throw away any direct UTF-8 support and support all uni-
and multibyte character encodings. However some unrelated refactoring
is about to come first.
2014-09-23 03:05:01 +02:00
Paul LeoNerd Evans
7909067ac0
Be a little more lenient in locale env.var. testing for UTF-8ness
2014-03-05 01:23:16 +00:00
Paul LeoNerd Evans
a91f511f27
Look for .utf8 in locale variables as well as .UTF-8
2014-01-23 23:57:19 +00:00
Paul LeoNerd Evans
d97617963d
Look for \.UTF-8 only in the first env. var found from LANG, LC_MESSAGES, LC_ALL
2014-01-05 18:23:46 +00:00
Paul LeoNerd Evans
e3d0baa846
Bugfix to snprint_cameltospaces() when given a short buffer [thanks Romain Chossart]
2013-08-26 18:46:01 +01:00
Paul LeoNerd Evans
e9a1302e4c
Delete trailing whitespace in code
2013-08-26 02:35:40 +01:00
Paul LeoNerd Evans
d58faf55b4
Fix comment about 'n' in strpncmp_camel()
2013-08-26 02:30:43 +01:00
Paul LeoNerd Evans
8e503baed8
Added TERMKEY_FORMAT_LOWERSPACE for strpkey() also
2013-08-26 02:23:19 +01:00
Paul LeoNerd Evans
3b2d8eb813
Added TERMKEY_FORMAT_LOWERSPACE for strfkey() only
2013-08-26 01:32:35 +01:00
Paul LeoNerd Evans
a36648e172
Added TERMKEY_FORMAT_LOWERMOD
2013-08-26 01:14:35 +01:00
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