--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <m17n.h>
+
+int
+main (int argc, char **argv)
+{
+ MInputMethod *im;
+ MInputContext *ic;
+ unsigned char buf[6];
+ int i;
+ MSymbol prop, alias, sym;
+
+ M17N_INIT ();
+ im = minput_open_im (Mt, msymbol ("test"), NULL);
+ if (im)
+ {
+ ic = minput_create_ic (im, NULL);
+ if (ic)
+ {
+ buf[0] = 0xd1;
+ buf[1] = 0;
+ minput_filter (ic, msymbol (buf), NULL);
+ minput_destroy_ic (ic);
+ }
+ minput_close_im (im);
+ }
+ prop = msymbol (" key-alias");
+ buf[1] = 0;
+ for (i = 0; i < 256; i++)
+ {
+ buf[0] = i;
+ sym = msymbol ((char *) buf);
+ alias = msymbol_get (sym, prop);
+ if (alias)
+ {
+ printf ("%02X:", i);
+ while (alias && alias != sym)
+ {
+ printf (" %s", msymbol_name (alias));
+ alias = msymbol_get (alias, prop);
+ }
+ printf ("\n");
+ }
+ }
+ buf[0] = 'C', buf[1] = '-', buf[2] = 'M', buf[3] = '-', buf[5] = '\0';
+ for (i = ' '; i <= '~'; i++)
+ {
+ if (i == '@')
+ {
+ i = '_';
+ continue;
+ }
+ if (i == 'a')
+ {
+ i = 'z';
+ continue;
+ }
+ buf[4] = i;
+ sym = msymbol (buf);
+ alias = msymbol_get (sym, prop);
+ printf ("%s:", buf);
+ while (alias && alias != sym)
+ {
+ printf (" %s", msymbol_name (alias));
+ alias = msymbol_get (alias, prop);
+ }
+ printf ("\n");
+ }
+ exit (0);
+}