Line 0
Link Here
|
|
|
1 |
--- i3-config-wizard/main.c.orig 2016-03-06 15:17:18 UTC |
2 |
+++ i3-config-wizard/main.c |
3 |
@@ -264,21 +264,29 @@ static char *next_state(const cmdp_token |
4 |
const xkb_keysym_t *syms; |
5 |
int num = xkb_keymap_key_get_syms_by_level(xkb_keymap, keycode, 0, 0, &syms); |
6 |
if (num == 0) |
7 |
- errx(1, "xkb_keymap_key_get_syms_by_level returned no symbols for keycode %d", keycode); |
8 |
- if (!keysym_used_on_other_key(syms[0], keycode)) |
9 |
- level = 0; |
10 |
+ fprintf(stderr, "xkb_keymap_key_get_syms_by_level returned no symbols for keycode %d\n", keycode); |
11 |
+ if (num != 0) |
12 |
+ { |
13 |
+ if (!keysym_used_on_other_key(syms[0], keycode)) |
14 |
+ level = 0; |
15 |
+ } |
16 |
} |
17 |
|
18 |
const xkb_keysym_t *syms; |
19 |
int num = xkb_keymap_key_get_syms_by_level(xkb_keymap, keycode, 0, level, &syms); |
20 |
if (num == 0) |
21 |
- errx(1, "xkb_keymap_key_get_syms_by_level returned no symbols for keycode %d", keycode); |
22 |
+ fprintf(stderr, "xkb_keymap_key_get_syms_by_level returned no symbols for keycode %d\n", keycode); |
23 |
if (num > 1) |
24 |
- printf("xkb_keymap_key_get_syms_by_level (keycode = %d) returned %d symbolsinstead of 1, using only the first one.\n", keycode, num); |
25 |
- |
26 |
+ fprintf(stderr, "xkb_keymap_key_get_syms_by_level (keycode = %d) returned %d symbolsinstead of 1, using only the first one.\n", keycode, num); |
27 |
char str[4096]; |
28 |
- if (xkb_keysym_get_name(syms[0], str, sizeof(str)) == -1) |
29 |
- errx(EXIT_FAILURE, "xkb_keysym_get_name(%u) failed", syms[0]); |
30 |
+ if (num != 0) { |
31 |
+ if (xkb_keysym_get_name(syms[0], str, sizeof(str)) == -1) |
32 |
+ errx(EXIT_FAILURE, "xkb_keysym_get_name(%u) failed", syms[0]); |
33 |
+ } |
34 |
+ else |
35 |
+ { |
36 |
+ strcpy(str, get_string("key")); |
37 |
+ } |
38 |
const char *release = get_string("release"); |
39 |
char *res; |
40 |
char *modrep = (modifiers == NULL ? sstrdup("") : sstrdup(modifiers)); |