[XLib] caractères composées
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
Code:
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); |
et lors d'un KeyPress je fait
Code:
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; |
quant je press ^ ca donne 0 (Ce que je trouve logique)
mais quant je presse e ca donne e au lieu de ê. Il a complètement oublié le ^.