aboutsummaryrefslogtreecommitdiff
path: root/console-client/xkb/kstoucs.c
diff options
context:
space:
mode:
Diffstat (limited to 'console-client/xkb/kstoucs.c')
-rw-r--r--console-client/xkb/kstoucs.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/console-client/xkb/kstoucs.c b/console-client/xkb/kstoucs.c
deleted file mode 100644
index 59af1e9f..00000000
--- a/console-client/xkb/kstoucs.c
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <assert-backtrace.h>
-
-struct ksmap {
- int keysym;
- unsigned int ucs;
-};
-
-#include "kstoucs_map.c"
-
-/* Binary search through `kstoucs_map'. */
-static unsigned int
-find_ucs (int keysym, struct ksmap *first, struct ksmap *last)
-{
- struct ksmap *middle = first + (last - first) / 2;
-
- assert_backtrace (first <= last);
-
- if (middle->keysym == keysym)
- return middle->ucs; /* base case: needle found. */
- else if (first == last) /* empty search space */
- return 0;
- /* recursive cases: halve search space. */
- else if (middle->keysym < keysym)
- return find_ucs (keysym, middle+1, last);
- else if (middle->keysym > keysym)
- /* don't remove middle from the range to compensate
- for rounding down in it's calculation */
- return find_ucs (keysym, first, middle);
- return 0;
-}
-
-unsigned int
-KeySymToUcs4 (int keysym)
-{
-#ifdef XKB_DEBUG
- char *XKeysymToString(int keysym);
- printf ("KeySymToUcs4: %s (%d) -> ", XKeysymToString (keysym), keysym);
-unsigned int doit (int keysym)
-{
-#endif
-
- /* Control characters not covered by keysym map. */
- if (keysym > 0 && keysym < 32)
- return keysym;
-
- /* 'Unicode keysym' */
- if ((keysym & 0xff000000) == 0x01000000)
- return (keysym & 0x00ffffff);
-
- #define NUM_KEYSYMS (sizeof kstoucs_map / sizeof(struct ksmap))
- return find_ucs(keysym, &kstoucs_map[0], &kstoucs_map[NUM_KEYSYMS - 1]);
-#ifdef XKB_DEBUG
-}
- unsigned int ret = doit (keysym);
- printf ("%d\n", ret);
- return ret;
-#endif
-}