/* examples/panel/filtre.c */ #include He_node *princ, *panel, *text; int clavier_proc (He_node *hn, He_event *hev) { switch (hev->type) { case KeyPress : printf ("Touche enfoncée"); break; case KeyRelease : printf ("Touche relachée"); break; } printf (" symbole XK_%s string \"%s\" longueur %d\n", XKeysymToString(hev->sym), hev->str, hev->len); if (strcmp(hev->str, "a") == 0) return FALSE; return TRUE; } int main (int argc, char *argv[]) { HeInit (&argc, &argv); princ = HeCreateFrame (); HeSetFrameLabel (princ, "Filtre du clavier"); panel = HeCreatePanel (princ); HeCreateMessageP (panel, "Tapez un mot avec un 'a' :", TRUE); HeSetPanelLayout (panel, HE_LINE_FEED); text = HeCreateText (panel); HeSetTextVisibleLen (text, 50); HeSetTextKbdProc (text, clavier_proc); HeFit(panel); HeFit(princ); return HeMainLoop (princ); }