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 : 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);
et lors d'un KeyPress je fait
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;
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 ^.