diff options
Diffstat (limited to 'linux/osd/develop/xkbtest')
| -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; +}  | 
