diff options
Diffstat (limited to '')
-rw-r--r-- | linux/osd/develop/xkbtest/Makefile | 34 | ||||
-rw-r--r-- | linux/osd/develop/xkbtest/xkbtest.c | 29 |
2 files changed, 63 insertions, 0 deletions
diff --git a/linux/osd/develop/xkbtest/Makefile b/linux/osd/develop/xkbtest/Makefile new file mode 100644 index 0000000..710c1cd --- /dev/null +++ b/linux/osd/develop/xkbtest/Makefile @@ -0,0 +1,34 @@ +# Makefile + +# The compiler to be used +CC = gcc + +# Arguments passed to the compiler: -g causes the compiler to insert +# debugging info into the executable and -Wall turns on all warnings +CFLAGS = -g -O2 + +# The dynamic libraries that the executable needs to be linked to +LDFLAGS = -lxkbfile + +# The Dependency Rules +# They take the form +# target : dependency1 dependency2... +# Command(s) to generate target from dependencies + +# Dummy target that is processed by default. It specifies al list of +# other targets that are processed if make is invoked with no arguments +# However if you invoke make as "make output-data", it will only try to +# generate the file output-data and its dependencies, not plot.png +all : xkbtest + +xkbtest : xkbtest.c + $(CC) $(CFLAGS) $(LDFLAGS) xkbtest.c -o xkbtest + +# The clean target is used to remove all machine generated files +# and start over from a clean slate. This will prove extremely +# useful. It is an example of a dummy target, as there will never be a +# file named clean. Thus "make clean" will always cause the following +# command to be executed. + +clean : + rm -f xkbtest diff --git a/linux/osd/develop/xkbtest/xkbtest.c b/linux/osd/develop/xkbtest/xkbtest.c new file mode 100644 index 0000000..a5c1412 --- /dev/null +++ b/linux/osd/develop/xkbtest/xkbtest.c @@ -0,0 +1,29 @@ +#include <stdio.h> +#include <X11/XKBlib.h> + +int main(int argc, char *argv[]) +{ + int event_rtrn = 0; + int error_rtrn = 0; + int major_in_out = 1; + int minor_in_out = 0; + int reason_rtrn = 0; + + Display * display = NULL; + display = XkbOpenDisplay(NULL, &event_rtrn, &error_rtrn, &major_in_out, + &minor_in_out, &reason_rtrn); + + printf("\n Display handle: %#010x\n", (unsigned int) display); + + XkbStateRec state; + XkbGetState(display, XkbUseCoreKbd, &state); + + printf("\n mods: %x", state.mods); + printf("\n base_mods: %x", state.base_mods); + printf("\n latched_mods: %x", state.latched_mods); + printf("\n locked_mods: %x", state.locked_mods); + printf("\n compat_state: %x", state.compat_state); + + printf("\n\n"); + return 0; +} |