Yes, there are global control flags. But also bits set for each key code. So in a symbols file there can be code like this:
key <UP> {
type="CTRL+ALT_FOUR_LEVEL",
repeat=yes,
symbols[Group1] = [ Up, Up, Prior, Home ],
actions[Group1] = [ NoAction(), NoAction(), RedirectKey(key=<PGUP>, clearmods=Alt), RedirectKey(key=<HOME>, clearmods=Control+Alt) ]
};
(Not my code, that. But as you see, the repeat behavior can be set for each key – which will however be overridden by the global control flag I think.)
One thing I thought about is that autorepeat is usually set to 'default' for each key. In this state, the hardware (in my case, the VirtualBox client) may provide autorepeat for keys, which is then just propagated. In other cases, the hardware or "hardware" does not generate any autorepeat behavior and the OS should solve this (but doesn't). If I've read Ivan Pascal correctly, this may be part of our issue.
I was thinking I could try adding 'repeat=true, ' lines to my extend symbols file to see if that makes a difference (that'd go in the key <####> { } defs, before symbols[Group1]=). But if I can't reproduce the problem on my machine, I can't check whether that works!
If you can see the problem, maybe you can test it? In the xkb/symbols/extend file, change for instance
key <AC03> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Shift_L , Shift_L , // Shift
Right , KP_Right ], // →
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
SetMods(mods=Shift) , SetMods(mods=Shift) , // Shift mod for <LFSH>
NoAction() , NoAction() ]
}; // Cmk S
to
key <AC03> { repeat=true,
symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Shift_L , Shift_L , // Shift
Right , KP_Right ], // →
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
SetMods(mods=Shift) , SetMods(mods=Shift) , // Shift mod for <LFSH>
NoAction() , NoAction() ]
}; // Cmk S
Then you'll have to recompile the X server (run my setxkb script for instance).
Last edited by DreymaR (30-Nov-2016 14:36:38)