Test results from the keyboard diagnostic:
The keys CNT'L, SHIFT, equal sign and -> "double" as fire buttons, meaning the program displays both the key pressed and a black rectangle matching the corresponding fire button. Likewise when pressing the four fire buttons, the corresponding key is displayed:
Left controller: upper fire button = CNT'L, lower fire button = SHIFT. Worth noticing here is that for SHIFT, the keyboard symbol is displayed
prior to the black rectangle matching a fire button, while that for CNT'L, the keyboard symbol is displayed
after the rectangle. This is true both if you press the keys on the keyboard or the actual fire buttons.
Right controller: upper fire button = Equals sign, lower fire button = -> symbol. In this case, the equals sign is always displayed
prior to the rectangle and the -> sign is displayed
after the rectangle. I suppose it means the PIA (?) decodes the equal sign and SHIFT keys before the joystick, but decodes the CNT'L and -> keys after the joystick?
As for the SHIFT test, every key except "1" and possibly "CNT'L" on the left keypad generates garbage when pushed with SHIFT held down. The garbage varies:
Code: Select all
SHIFT + 2 = 3624RCSQEXA
SHIFT + 3 = 324RCS
SHIFT + 4 = 3524RCSQWZ<-
SHIFT + 5 = 54QWZ<-
SHIFT + 6 = 62QEXA
SHIFT + Q = 6524QEXAWZ<-
SHIFT + W = 5T4RQEWZ<-BG
SHIFT + E = 6T2RQEXAWBG
SHIFT + R = 3T24RCSEWBG
SHIFT + T = TREWBG
SHIFT + <- = 54QWZ<- (same as with 5 above)
SHIFT + A = 62QEXA (same as with 6 above)
SHIFT + S = 324RCS (same as with 3 above)
SHIFT + D = 365TVD
SHIFT + F = VCXZBF
SHIFT + G = TREWBG
SHIFT + Z = 5V4CQXWZ<-BF
SHIFT + X = 6V2CQEXAZBF
SHIFT + C = 3V24RCSXZBF
SHIFT + V = 365TVDCXZBF
SHIFT + B = TVRCEXWZBGF
It should also be added that in mode 2 with the onscreen keyboard already in place, pressing the lower fire button on the left joypad only registers as the SHIFT key, while the upper fire button registers as fire instead of CNT'L. Likewise pressing CNT'L displays as upper fire button, not CNT'L itself. I believe it has something to do with what I wrote above about the rectangle displaying prior or after the keyboard symbol, and that in this mode, the diagnostic program only reads one input value instead of the sequence of two values.
Similarly, pressing the lower fire button on the right keypad registers as a real fire button instead of arrow right, while the upper fire button registers as equals sign instead of fire button. The same applies here, that pressing -> will display as lower fire button, analogous to the above writing.
This behavior by the way doesn't change a bit if SHIFT is held down.
Worth noticing is that a few keys generate different shifted sequences if one uses the Moving-Key keyboard. I don't know if it is of any importance here, unless you specifically will include emulation of the add-on keyboard which for all normal attempts and purposes is supposed to behave just like the regular touch keyboard, just this diagnostic program having fits with it.