Hello,
I tried to configure xkbion for num/caps/scroll-lock so that it works similarly to
keyboard layout switching and the lock was on/off per program window in X.org:
xkbion_set {
{
name = " ",
hint = "xkb_num_off",
action = function() mod_xkb.lock_modifiers(1, 0) end,
},
{
name = " NUM ",
hint = "xkb_num_on",
action = function() mod_xkb.lock_modifiers(1, 2) end,
},
key = "Num_Lock",
statusname = "xkb_num",
atomname = "XKBION_NUM",
}
xkbion_set {
{
name = " ",
hint = "xkb_caps_off",
action = function() mod_xkb.lock_modifiers(2, 0) end,
},
{
name = " CAPS ",
hint = "xkb_caps_on",
action = function() mod_xkb.lock_modifiers(2, 2) end,
},
key = "Caps_Lock",
statusname = "xkb_caps",
atomname = "XKBION_CAPS",
}
xkbion_set {
{
name = " ",
hint = "xkb_scroll_off",
action = function() mod_xkb.lock_modifiers(3, 0) end,
},
{
name = " SCR ",
hint = "xkb_scroll_on",
action = function() mod_xkb.lock_modifiers(3, 2) end,
},
key = "Scroll_Lock",
statusname = "xkb_scroll",
atomname = "XKBION_SCROLL",
}
It does not behave as expected. The locks are on/off globally and the indicator are actually per window
so they does not reflect the real state. How to fix this, please? It looks like the mod_xkb.lock_group() works somehow
differently to mod_xkb.lock_modifiers() or I perhaps do something completely wrong.
OT: This is how I configured my keyboard layout switching which works per window:
To clarify more further, I like to switch keyboard layouts using L_Shift+R_Shift (which is ISO_Next_Group in xev(1) output) and this was the only way I could achieve it to somewhat work with xkbion. But it's wrong, I think. If somebody has some idea how to get it really working (still there are some issues, see below), it would be splendid and very appreciated too! Thanks.
To keep keyboard layouts and lock states per window is excellent feature and it is one of the greatest features I can imagine for window manager. By the way, it would be even greater if I could, for example, tag some set of windows and switch keyboard layouts and lock states for them or if I could do it per frame etc. I think such functionality should be part of the Notion's core to handle it really properly (there are some issues with empty scratchpad for example etc). Also language and lock state indicators would be nice to have on tabs, I think.
Hello, I tried to configure
xkbion
for num/caps/scroll-lock so that it works similarly to keyboard layout switching and the lock was on/off per program window in X.org:It does not behave as expected. The locks are on/off globally and the indicator are actually per window so they does not reflect the real state. How to fix this, please? It looks like the
mod_xkb.lock_group()
works somehow differently tomod_xkb.lock_modifiers()
or I perhaps do something completely wrong.OT: This is how I configured my keyboard layout switching which works per window:
To clarify more further, I like to switch keyboard layouts using
L_Shift+R_Shift
(which isISO_Next_Group
inxev(1)
output) and this was the only way I could achieve it to somewhat work withxkbion
. But it's wrong, I think. If somebody has some idea how to get it really working (still there are some issues, see below), it would be splendid and very appreciated too! Thanks.To keep keyboard layouts and lock states per window is excellent feature and it is one of the greatest features I can imagine for window manager. By the way, it would be even greater if I could, for example, tag some set of windows and switch keyboard layouts and lock states for them or if I could do it per frame etc. I think such functionality should be part of the Notion's core to handle it really properly (there are some issues with empty scratchpad for example etc). Also language and lock state indicators would be nice to have on tabs, I think.