summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2021-11-25 21:43:20 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2021-12-20 15:01:56 +1000
commit0170015204e16b47f9fd264ae119f48b734731f7 (patch)
treecdc3372462e06138ec75aa3b75cb5a887e877bcb /src
parent4b055af87e2b3b9fa29c0cf3d0a20ecf6c0917c6 (diff)
downloadxf86-input-wacom-0170015204e16b47f9fd264ae119f48b734731f7.tar.gz
Add an emulation of the X server's option handling
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'src')
-rw-r--r--src/WacomInterface.h17
-rw-r--r--src/xf86Wacom.c51
2 files changed, 68 insertions, 0 deletions
diff --git a/src/WacomInterface.h b/src/WacomInterface.h
index 297336f..4a33d6c 100644
--- a/src/WacomInterface.h
+++ b/src/WacomInterface.h
@@ -166,5 +166,22 @@ void wcmEmitProximity(WacomDevicePtr priv, bool is_proximity_in,
const WacomAxisData *axes);
void wcmEmitTouch(WacomDevicePtr priv, int type, unsigned int touchid, int x, int y);
+/* X server interface emulations */
+
+/* Get the option of the given type */
+char *wcmOptGetStr(WacomDevicePtr priv, const char *key, const char *default_value);
+int wcmOptGetInt(WacomDevicePtr priv, const char *key, int default_value);
+bool wcmOptGetBool(WacomDevicePtr priv, const char *key, bool default_value);
+
+/* Get the option of the given type, quietly (without logging) */
+char *wcmOptCheckStr(WacomDevicePtr priv, const char *key, const char *default_value);
+int wcmOptCheckInt(WacomDevicePtr priv, const char *key, int default_value);
+bool wcmOptCheckBool(WacomDevicePtr priv, const char *key, bool default_value);
+
+/* Change the option to the new value */
+void wcmOptSetStr(WacomDevicePtr priv, const char *key, const char *value);
+void wcmOptSetInt(WacomDevicePtr priv, const char *key, int value);
+void wcmOptSetBool(WacomDevicePtr priv, const char *key, bool value);
+
#endif
diff --git a/src/xf86Wacom.c b/src/xf86Wacom.c
index 557b06b..e3b00d0 100644
--- a/src/xf86Wacom.c
+++ b/src/xf86Wacom.c
@@ -73,6 +73,57 @@ wcmLog(WacomDevicePtr priv, WacomLogType type, const char *format, ...)
va_end(args);
}
+char *wcmOptGetStr(WacomDevicePtr priv, const char *key, const char *default_value)
+{
+ return xf86SetStrOption(priv->pInfo->options, key, default_value);
+}
+
+int wcmOptGetInt(WacomDevicePtr priv, const char *key, int default_value)
+{
+ return xf86SetIntOption(priv->pInfo->options, key, default_value);
+}
+
+bool wcmOptGetBool(WacomDevicePtr priv, const char *key, bool default_value)
+{
+ return !!xf86SetBoolOption(priv->pInfo->options, key, default_value);
+}
+
+/* Get the option of the given type, quietly (without logging) */
+char *wcmOptCheckStr(WacomDevicePtr priv, const char *key, const char *default_value)
+{
+ return xf86CheckStrOption(priv->pInfo->options, key, default_value);
+}
+
+int wcmOptCheckInt(WacomDevicePtr priv, const char *key, int default_value)
+{
+ return xf86CheckIntOption(priv->pInfo->options, key, default_value);
+}
+
+bool wcmOptCheckBool(WacomDevicePtr priv, const char *key, bool default_value)
+{
+ return !!xf86CheckBoolOption(priv->pInfo->options, key, default_value);
+}
+
+/* Change the option to the new value */
+void wcmOptSetStr(WacomDevicePtr priv, const char *key, const char *value)
+{
+ InputInfoPtr pInfo = priv->pInfo;
+ pInfo->options = xf86ReplaceStrOption(pInfo->options, key, value);
+}
+
+void wcmOptSetInt(WacomDevicePtr priv, const char *key, int value)
+{
+ InputInfoPtr pInfo = priv->pInfo;
+ pInfo->options = xf86ReplaceIntOption(pInfo->options, key, value);
+}
+
+void wcmOptSetBool(WacomDevicePtr priv, const char *key, bool value)
+{
+ InputInfoPtr pInfo = priv->pInfo;
+ pInfo->options = xf86ReplaceBoolOption(pInfo->options, key, value);
+}
+
+
/*****************************************************************************
* Event helpers
****************************************************************************/