Revert "Bugfix: set group mask 1 by default, correctly compare modifiers"

This reverts commit 9692c1498b.

That commit accidentally defaulted to group mask 1, but the default
should be to match any group mask, so that having multiple layouts
loaded at the same time works.

fixes #2062
This commit is contained in:
Michael Stapelberg
2015-11-15 18:00:48 +01:00
parent ff63104a2d
commit e48c4cd257
2 changed files with 21 additions and 23 deletions

View File

@ -67,9 +67,8 @@ i3_event_state_mask_t event_state_from_str(const char *str) {
/* It might be better to use strtok() here, but the simpler strstr() should
* do for now. */
i3_event_state_mask_t result = 0;
int group_bits_set = 0;
if (str == NULL)
return (I3_XKB_GROUP_MASK_1 << 16);
return result;
if (strstr(str, "Mod1") != NULL)
result |= XCB_KEY_BUT_MASK_MOD_1;
if (strstr(str, "Mod2") != NULL)
@ -86,26 +85,15 @@ i3_event_state_mask_t event_state_from_str(const char *str) {
if (strstr(str, "Shift") != NULL)
result |= XCB_KEY_BUT_MASK_SHIFT;
if (strstr(str, "Group1") != NULL) {
if (strstr(str, "Group1") != NULL)
result |= (I3_XKB_GROUP_MASK_1 << 16);
group_bits_set++;
}
if (strstr(str, "Group2") != NULL ||
strstr(str, "Mode_switch") != NULL) {
strstr(str, "Mode_switch") != NULL)
result |= (I3_XKB_GROUP_MASK_2 << 16);
group_bits_set++;
}
if (strstr(str, "Group3") != NULL) {
if (strstr(str, "Group3") != NULL)
result |= (I3_XKB_GROUP_MASK_3 << 16);
group_bits_set++;
}
if (strstr(str, "Group4") != NULL) {
if (strstr(str, "Group4") != NULL)
result |= (I3_XKB_GROUP_MASK_4 << 16);
group_bits_set++;
}
if (group_bits_set == 0) {
result |= (I3_XKB_GROUP_MASK_1 << 16);
}
return result;
}