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
Paul LeoNerd Evans
8aa5b7acb5
Unit tests should use .code.codepoint/.sym instead of not .code.number when appropriate
2014-03-05 01:11:45 +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
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
b4067d8afb
Updated shared taplib
2013-01-04 17:39:41 +00:00
Paul LeoNerd Evans
0be6f18019
Handle ANSI and DEC mode report CSIs
2012-11-30 16:34:47 +00:00
Paul LeoNerd Evans
c00f6cd3c6
Only recognise DECCPR as a position report, so it is distinct from F3
2012-11-30 16:12:26 +00:00
Paul LeoNerd Evans
efc5b7e088
Try to handle position reports -and- F3 concurrently.. somehow.. argh
2012-11-30 15:36:06 +00:00
Paul LeoNerd Evans
d5c3d9c8fe
Also interpret an intermediate CSI byte if present
2012-11-30 14:43:00 +00:00
Paul LeoNerd Evans
26912d989b
Unit test that CSI initial command also works
2012-11-30 14:37:28 +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
06fd040119
Bugfix to POSITION reporting - swap line<=>col
2012-04-25 18:34:47 +01:00
Paul LeoNerd Evans
f06cd325a2
Ensure that key->type field is properly set for all mouse encoding protocols
2012-04-24 17:42:01 +01: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
a6aa8c433b
Always load the CSI driver because it contains cross-terminal mouse and CSI u handling
2012-04-24 15:58:37 +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
ff99b29b96
Recognise rxvt-style mouse encoding
2012-04-12 00:12:19 +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
5f942e9e3e
Added a unit test for mouse report events
2012-04-05 17:57:13 +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
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
50327ce6dc
Use termkey_new_abstract() in unit tests
2012-01-26 12:55:34 +00:00
Paul LeoNerd Evans
6bc3f8a378
\e string escape is not portable; use \033
2012-01-18 16:36:10 +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
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
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
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
5fc3aff57a
Added a unit test to assert the correct behaviour of FLAG_SPACESYMBOL from waitkey
2011-08-27 19:29:34 +01:00
Paul LeoNerd Evans
03371bdd04
Bugfix to termkey_keycmp - implement sense in correct direction
2011-04-07 23:31:43 +01:00
Paul LeoNerd Evans
0a101ff71e
Bugfix termkey_strpkey parsing unicode with trailing content
2011-04-07 20:19:34 +01:00
Paul LeoNerd Evans
c626393aeb
Assert that termkey_strpkey's return points to endofstring after parse
2011-04-07 20:14:44 +01:00
Paul LeoNerd Evans
ad7d31ead8
Provide termkey_keycmp() for sorting purposes
2011-04-02 15:07:30 +01:00
Paul LeoNerd Evans
88230407fe
Adjust termkey_strpkey() API more like strptime(); return pointer to end of recognised section, allows for stream parsing
2011-04-01 13:49:20 +01:00
Paul LeoNerd Evans
dbb13defb7
Provide a termkey_lookup_keyname that can do partial buffer parsing
2011-04-01 13:26:54 +01:00
Paul LeoNerd Evans
a3b8804018
Ensure strpkey can parse numbered function keys
2011-04-01 10:48:15 +01:00
Paul LeoNerd Evans
59800c356b
Unicode codepoint is stored in key->code.codepoint, not code.number
2011-04-01 10:41:44 +01:00
Paul LeoNerd Evans
6424282c4d
Partial implementation of termkey_strpkey(3); missing FORMAT_WRAPBRACKET and TYPE_FUNCTION support
2011-04-01 00:50:51 +01:00
Paul LeoNerd Evans
f1b3dff4c2
Extract UTF-8 sequence parser into its own function, fix bugs, apply unit tests
2011-03-31 23:42:52 +01:00
Paul LeoNerd Evans
739be0e55d
Added unit tests for UTF-8 parser
2011-03-31 18:59:07 +01:00
Paul LeoNerd Evans
9b97244c54
Added some unit tests for termkey_strfkey(3)
2011-03-31 14:10:35 +01:00