forked from enlightenment/efl
ecore_wl2&elput: correctly fill the key structure
Summary: the key structure has two fields key and keyname, those should be identical to the keystructures from x. the method xkb_keysym_to_utf8 however returns different values for keys like "minus" thus only relying on xkb_keysym_name files this issue. Reviewers: eagleeye, devilhorns Reviewed By: eagleeye Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6520
This commit is contained in:
parent
5ad16095a4
commit
bda4565d9c
|
@ -592,16 +592,6 @@ in this Software without prior written authorization from The Open Group.
|
||||||
static void
|
static void
|
||||||
_ecore_wl2_input_symbol_rep_find(xkb_keysym_t keysym, char *buffer, int size, unsigned int code)
|
_ecore_wl2_input_symbol_rep_find(xkb_keysym_t keysym, char *buffer, int size, unsigned int code)
|
||||||
{
|
{
|
||||||
int n = 0;
|
|
||||||
|
|
||||||
n = xkb_keysym_to_utf8(keysym, buffer, size);
|
|
||||||
|
|
||||||
/* check if we are a control code */
|
|
||||||
if (n > 0 && !(
|
|
||||||
(buffer[0] > 0x0 && buffer[0] <= 0x20) || /* others 0x0 to 0x20 control codes */
|
|
||||||
buffer[0] == 0x7F)) /*delete control code */
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (xkb_keysym_get_name(keysym, buffer, size) != 0)
|
if (xkb_keysym_get_name(keysym, buffer, size) != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -606,16 +606,6 @@ process_key_press(xkb_keysym_t sym, Elput_Keyboard *kbd)
|
||||||
static void
|
static void
|
||||||
_elput_symbol_rep_find(xkb_keysym_t keysym, char *buffer, int size, unsigned int code)
|
_elput_symbol_rep_find(xkb_keysym_t keysym, char *buffer, int size, unsigned int code)
|
||||||
{
|
{
|
||||||
int n = 0;
|
|
||||||
|
|
||||||
n = xkb_keysym_to_utf8(keysym, buffer, size);
|
|
||||||
|
|
||||||
/* check if we are a control code */
|
|
||||||
if (n > 0 && !(
|
|
||||||
(buffer[0] > 0x0 && buffer[0] < 0x20) || /* others 0x0 to 0x1F control codes */
|
|
||||||
buffer[0] == 0x7F)) /*delete control code */
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (xkb_keysym_get_name(keysym, buffer, size) != 0)
|
if (xkb_keysym_get_name(keysym, buffer, size) != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue