one of the 8-level types behaves inconsistently with Lock
For EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK in types/level5
, the fifth block of level specifications is this:
// Lock interchanges Level1 and Level2
map[Lock] = Level2;
map[Lock+Shift] = Level1;
map[Lock+LevelThree] = Level3;
map[Lock+LevelThree+Shift] = Level4;
Note that Lock
affects levels 1 and 2 but not 3 and 4. Now look ten lines further down:
map[Lock+NumLock+LevelFive] = Level2;
map[Lock+NumLock+LevelFive+Shift] = Level1;
map[Lock+NumLock+LevelFive+LevelThree] = Level4;
map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;
When level 5 is locked (via NumLock
) and this is temporarily cancelled (by holding a LevelFive
key), then Lock
swaps also levels 3 and 4. I think this is inconsistent and unintended. (If it were intended, it should have had a comment saying so, because it differs from the behavior above.)
Edited by Ghost User