aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--termkey_keyname2sym.33
-rw-r--r--termkey_strfkey.33
-rw-r--r--termkey_strpkey.338
3 files changed, 42 insertions, 2 deletions
diff --git a/termkey_keyname2sym.3 b/termkey_keyname2sym.3
index 4da97f0..89c4c80 100644
--- a/termkey_keyname2sym.3
+++ b/termkey_keyname2sym.3
@@ -18,4 +18,5 @@ Because the key names are stored in an array indexed by the symbol number, this
.SH "SEE ALSO"
.BR termkey_new (3),
.BR termkey_get_keyname (3),
-.BR termkey_strfkey (3)
+.BR termkey_strfkey (3),
+.BR termkey_strpkey (3)
diff --git a/termkey_strfkey.3 b/termkey_strfkey.3
index ae0e7d2..78af2dc 100644
--- a/termkey_strfkey.3
+++ b/termkey_strfkey.3
@@ -42,4 +42,5 @@ When formatting a \fBTERMKEY_TYPE_UNICODE\fP key structure, this function uses t
.BR termkey_new (3),
.BR termkey_getkey (3),
.BR termkey_waitkey (3),
-.BR termkey_get_keyname (3)
+.BR termkey_get_keyname (3),
+.BR termkey_strpkey (3)
diff --git a/termkey_strpkey.3 b/termkey_strpkey.3
new file mode 100644
index 0000000..9d91dc0
--- /dev/null
+++ b/termkey_strpkey.3
@@ -0,0 +1,38 @@
+.TH TERMKEY_STRPKEY 3
+.SH NAME
+termkey_strpkey \- parse a string representing a key event
+.SH SYNOPSIS
+.nf
+.B #include <termkey.h>
+.sp
+.BI "size_t termkey_strpkey(TermKey *" tk ", const char *" str ",
+.BI " TermKeyKey " key ", TermKeyFormat " format );
+.fi
+.sp
+Link with \fI-ltermkey\fP.
+.SH DESCRIPTION
+\fBtermkey_strpkey\fP parses a string buffer containing a human-readable representation of a key event. It fills the \fIkey\fP structure from the results of this parsing, similar to the \fBstrptime\fP(3) standard library function.
+.PP
+The \fIformat\fP argument specifies the format expected in the string, as a bitmask of the following constants:
+.TP
+.B TERMKEY_FORMAT_LONGMOD
+Expect full modifier names e.g. "Shift-" instead of abbreviating to "S-".
+.TP
+.B TERMKEY_FORMAT_CARETCTRL
+If the only modifier is \fBTERMKEY_MOD_CTRL\fP on a plain letter, accept it as "^X" rather than "Ctrl-X".
+.TP
+.B TERMKEY_FORMAT_ALTISMETA
+Use the name "Meta" or the letter "M" instead of "Alt" or "A".
+.PP
+The \fBTERMKEY_FORMAT_WRAPBRACKET\fP and \fBTERMKEY_FORMAT_MOUSE_POS\fP options are currently not supported by \fBtermkey_strpkey\fP(). When returning a \fBTERMKEY_TYPE_UNICODE\fP key structure, this function will fill in the \fIutf8\fP member.
+.SH "RETURN VALUE"
+\fBtermkey_strpkey\fP() returns one of the following constants:
+.TP
+.B TERMKEY_RES_KEY
+A key structure was successfully parsed.
+.TP
+.B TERMKEY_RES_NONE
+No key was recognised in the string buffer.
+.SH "SEE ALSO"
+.BR termkey_new (3),
+.BR termkey_strfkey (3)