Due to the way I type, rollover still leads to both false positives and false negatives. False positives occur when rollover happens in such a way that the second key is released before the first. False negatives occur when the first key is released before the second, even though the intent is to chord.
It may be possible to exploit timing information to fix this. Specifically, it seems like rollover variation occurs when I've been typing at speed for a while. Detecting that a key hasn't been pressed for a while may make it possible for us to distinguish those cases. For instance, a pause before something like k-down x-down k-up x-up may allow us to interpret that as a chorded sequence, whereas if that happens immediately after another key up event, it would be interpreted as rollover.
Much research required, though, since I think doing this might require breaking the core model.
Due to the way I type, rollover still leads to both false positives and false negatives. False positives occur when rollover happens in such a way that the second key is released before the first. False negatives occur when the first key is released before the second, even though the intent is to chord.
It may be possible to exploit timing information to fix this. Specifically, it seems like rollover variation occurs when I've been typing at speed for a while. Detecting that a key hasn't been pressed for a while may make it possible for us to distinguish those cases. For instance, a pause before something like
k-down x-down k-up x-up
may allow us to interpret that as a chorded sequence, whereas if that happens immediately after another key up event, it would be interpreted as rollover.Much research required, though, since I think doing this might require breaking the core model.