diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2021-11-25 21:43:20 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2021-12-20 15:01:56 +1000 |
commit | 0170015204e16b47f9fd264ae119f48b734731f7 (patch) | |
tree | cdc3372462e06138ec75aa3b75cb5a887e877bcb /src | |
parent | 4b055af87e2b3b9fa29c0cf3d0a20ecf6c0917c6 (diff) | |
download | xf86-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.h | 17 | ||||
-rw-r--r-- | src/xf86Wacom.c | 51 |
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 ****************************************************************************/ |