aboutsummaryrefslogtreecommitdiffstats
path: root/src/mds-kkbd.h
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-08-11 05:47:10 +0200
committerMattias Andrée <maandree@operamail.com>2014-08-11 05:47:10 +0200
commit4f8ac368dbead32aaa30684c29df3afa0a8ba17f (patch)
tree60a1007dba7a0f2456c44f7152e68b274f4bb3f2 /src/mds-kkbd.h
parentm (diff)
downloadmds-4f8ac368dbead32aaa30684c29df3afa0a8ba17f.tar.gz
mds-4f8ac368dbead32aaa30684c29df3afa0a8ba17f.tar.bz2
mds-4f8ac368dbead32aaa30684c29df3afa0a8ba17f.tar.xz
add fork_for_safety option + beginning of kernel-based keyboard
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/mds-kkbd.h')
-rw-r--r--src/mds-kkbd.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/mds-kkbd.h b/src/mds-kkbd.h
new file mode 100644
index 0000000..fc22f2b
--- /dev/null
+++ b/src/mds-kkbd.h
@@ -0,0 +1,75 @@
+/**
+ * mds — A micro-display server
+ * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef MDS_MDS_KKBD_H
+#define MDS_MDS_KKBD_H
+
+
+#include "mds-base.h"
+
+
+/**
+ * Send a full message even if interrupted
+ *
+ * @param message The message to send
+ * @param length The length of the message
+ * @return Non-zero on success
+ */
+int full_send(const char* message, size_t length);
+
+/**
+ * Acquire access of the keyboard's LED:s
+ *
+ * @return Zero on success, -1 on error
+ */
+int open_leds(void);
+
+/**
+ * Release access of the keyboard's LED:s
+ */
+void close_leds(void);
+
+/**
+ * Get active LED:s on the keyboard
+ *
+ * @return Active LED:s, -1 on error
+ */
+int get_leds(void);
+
+/**
+ * Set active LED:s on the keyboard
+ *
+ * @param leds Active LED:s
+ * @return Zero on success, -1 on error
+ */
+int set_leds(int leds);
+
+/**
+ * Acquire access of keyboard input
+ *
+ * @return Zero on success, -1 on error
+ */
+int open_input(void);
+
+/**
+ * Release access of keyboard input
+ */
+void close_input(void);
+
+
+#endif
+