When russian keyboard layout is in use, no hotkeys involving letter-keys are functional.
Input configuration:
input * {
natural_scroll enabled
xkb_layout "us,ru"
xkb_variant ","
xkb_options "compose:ralt,grp_led:caps,grp:caps_toggle"
}
Duplicate of #3107
After careful reading of #3107, it's not a duplicate of #3107.
p.s.: moreover, @kupospelov committed a fix in his PR, but for incomprehensible reason, contributors didn't dare to approve it so it's still a big annoyance for all foreign community here.
We're all volunteers here and we have no obligation to work at any pace or on issues convenient to you. Relax, we'll get to the patch eventually.
@ddevault Obviously, you don鈥檛 have to take care of all the unfortunate people who have to use several keyboard layouts, but otherwise great swaywm is really incomplete without multilingual support: working keyboard shortcuts in a non-American keyboard, keyboard layout indicator ...
So fix it. We accept patches.
@ddevault Shure but it seems that the needed patch was submitted by @kupospelov? Thanks.
2999.
p.s.: moreover, @kupospelov committed a fix in his PR, but for incomprehensible reason, contributors didn't dare to approve it so it's still a big annoyance for all foreign community here.
That was only updated 2 weeks ago. Give us some time, then.
@ddevault Thank you for your work and time
Is there some progress?
bindsym --to-code has already been released in stable version. See man 5 sway.
I should have closed this issue already.
I use this small patch to make the behaviour of --to-code the default.
--- a/sway/commands/bind.c 2019-05-12 03:59:43.614399853 +1000
+++ b/sway/commands/bind.c 2019-05-12 04:02:03.259677398 +1000
@@ -349,10 +349,6 @@
binding->flags |= BINDING_BORDER | BINDING_CONTENTS | BINDING_TITLEBAR;
} else if (strcmp("--border", argv[0]) == 0) {
binding->flags |= BINDING_BORDER;
- } else if (strcmp("--to-code", argv[0]) == 0) {
- if (!bindcode) {
- binding->flags |= BINDING_CODE;
- }
} else if (strcmp("--exclude-titlebar", argv[0]) == 0) {
exclude_titlebar = true;
} else if (strncmp("--input-device=", argv[0],
@@ -634,10 +630,6 @@
}
bool translate_binding(struct sway_binding *binding) {
- if ((binding->flags & BINDING_CODE) == 0) {
- return true;
- }
-
switch (binding->type) {
// a bindsym to translate
case BINDING_KEYSYM:
--- a/include/sway/config.h 2019-05-12 04:03:27.180233029 +1000
+++ b/include/sway/config.h 2019-05-12 04:04:36.008351887 +1000
@@ -38,7 +38,6 @@
BINDING_BORDER=4, // mouse only; trigger on container border
BINDING_CONTENTS=8, // mouse only; trigger on container contents
BINDING_TITLEBAR=16, // mouse only; trigger on container titlebar
- BINDING_CODE=32, // keyboard only; convert keysyms into keycodes
};
/**
@@ -50,7 +49,7 @@
char *input;
uint32_t flags;
list_t *keys; // sorted in ascending order
- list_t *syms; // sorted in ascending order; NULL if BINDING_CODE is not set
+ list_t *syms; // sorted in ascending order
uint32_t modifiers;
char *command;
};
Can鈥檛 wait to sit back at my workstation with comfortable keyboard shortcuts to try out the fix, just when I'll be back from my trip 馃槃
A minor suggestion - maybe a kosher it be to change the --to-code effect to inverse? Seems it's more likely this behavior 'd be more expected, so this may prevent any issues opening in foreseeable future if this patch will work by default.
P. S.: or just to add another option for layout-specific shortcut?
Most helpful comment
@ddevault Thank you for your work and time