chiark / gitweb /
found some test utilities re keymap (xkbtest.c 19 Nov 2009) and data age table refres... abandon.found-test-utils
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 24 Jan 2011 14:58:11 +0000 (14:58 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Mon, 24 Jan 2011 14:58:11 +0000 (14:58 +0000)
yarrg/test-dataage-refresh-intervals.pl [new file with mode: 0755]
yarrg/xkbtest.c [new file with mode: 0644]

diff --git a/yarrg/test-dataage-refresh-intervals.pl b/yarrg/test-dataage-refresh-intervals.pl
new file mode 100755 (executable)
index 0000000..53e6791
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+$t=0;
+$intv=10;
+
+sub roundnum ($) {
+    my ($s) = @_;
+    return
+        $s <    60*2 ? 60 :
+        $s <  3600*2 ? 60 :
+        $s < 86400*2 ? 3600 :
+                       86400;
+}
+
+sub conv ($) {
+    my ($s) = @_;
+    return sprintf "%2dd%2dh%02dm%02ds",
+        int($s / 86400), int(($s % 86400) / 3600),
+        int(($s % 3600) / 60), $s % 60;
+}
+
+for (;;) {
+    my $unit= roundnum($t);
+    my $r= int($t / $unit) * $unit;
+    printf "%8d %s  +%8d %s  R %8d %s  %7d  %5.2f\n",
+        $t, conv($t), $intv, conv($intv),
+        $r, conv($r), $t-$r, ($t-$r)/$unit;
+    $intv= $t*0.01 + 10;
+    $t += $intv;
+    #$intv *= 1.01;
+    #$intv += 5;
+}
diff --git a/yarrg/xkbtest.c b/yarrg/xkbtest.c
new file mode 100644 (file)
index 0000000..9b0d91a
--- /dev/null
@@ -0,0 +1,24 @@
+
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+#include <X11/Xutil.h>
+
+#include <stdio.h>
+#include <assert.h>
+
+static Display *disp;
+
+int main(void) {
+    disp= XOpenDisplay(0);  assert(disp);
+    fprintf(stderr,"XOpenDisplay OK\n");
+    int code= XKeysymToKeycode(disp,XK_slash);
+    fprintf(stderr,"XKeySymToKeycode(XK_slash)=%d\n",code);
+    int per;
+    KeySym *map= XGetKeyboardMapping(disp, code,code, &per);
+    fprintf(stderr,"XGetKeyboardMapping(...)=%p  per=%d\n",map,per);
+    int i;
+    for (i=0; i<per; i++)
+       fprintf(stderr," map[%d]=%#lx\n",i,(unsigned long)map[i]);
+    fprintf(stderr,"done.\n");
+    return 0;
+}