Bonjour,
Je suis face a un problème avec X11/XLib. Je ne vois vraiment pas comment récupérer les caractères composées. Par exemple pour faire ê, j'appuie sur ^ puis sur e. Malheureusement XLookupKeysym ou XwcLookupString dans mon cas ne retiennent absolument pas les caractère fait avant.
Quelqu'un a t'il déjà récupérer ça ? En faite je cherche a avoir l'équivalent du message WM_UNICHAR en windows.
Actuellement je crée globalement mon XIM et mon XIC
et lors d'un KeyPress je fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 xim = XOpenIM(xServer,NULL,"MV","MV"); xic = XCreateIC(xim, XNClientWindow, window, XNFocusWindow, window, XNInputStyle, XIMPreeditNothing | XIMStatusNothing, XNResourceName, "MV", XNResourceClass, "MV", NULL);
quant je press ^ ca donne 0 (Ce que je trouve logique)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 wchar_t buffer[8]; int status; int c = XwcLookupString(xic,&(event.xkey),buffer,8,NULL,&status); cout<<"buffer "<<buffer[0]<<" "<<buffer[1]<<" c"<<c<<endl;
mais quant je presse e ca donne e au lieu de ê. Il a complètement oublié le ^.
Partager