Please help with a bit of strange matrix ghosting.
I'm using the controller for a commodore 64 keyboard, it uses a 8x8 matrix, with no diode blocking.
Everything works fine for the keyboard, and then I've added the 2 joystick ports. These use 5 signal plus one common. (Up, Down, Left, Right, Fire , Common(gnd))
The joysticks are floating when plugged in, and not being pushed in a direction, but just having J1 plugged in causes the insert key to trigger itself, and the 1 key.
Unplugging the joystick, the key only triggers insert.
Any suggestions on why it's causing this behavior?
# Matrix setup for COMMODORE 64
matrix
        scanrate 1
        debounce 5
        blocking 1
# PROMicroPins          13          14           15         20         17          18         19          16         1          PromicroPins
                                                                                                                                        Joy Pins
  sense                 PB6         PB2          PB3        PF4        PF7         PF6        PF5         PB1        PD3
  strobe        PB5     BACKSPACE   ENTER        RIGHT      F7         F1          F3         F5          DOWN       PAD_PERIOD    #12   -J1 6(F)
  strobe        PD0     3           W            A          4          Z           S          E           LSHIFT     PAD_ASTERIX   #6    -J1 2(D)
  strobe        PD4     5           R            D          6          C           F          T           X          PAD_2         #7    -
  strobe        PC6     7           Y            G          8          B           H          U           V          PAD_3         #8    -
  strobe        PD7     9           I            J          0          M           K          O           N          PAD_PLUS      #9    -J1 4(R)
  strobe        PE6     MINUS       P            L          EQUAL      PERIOD      SEMICOLON  LEFT_BRACE  COMMA      PAD_5         #10   -
  strobe        PB4     INSERT      RIGHT_BRACE  QUOTE      HOME       RSHIFT      BACKSLASH  DELETE      SLASH      PAD_MINUS     #11   -J1 3(L)
  strobe        PD1     1           ESC          TAB        2          SPACE       LCTRL      Q           LALT       PAD_SLASH     #5    -J1 1(U)
  strobe        PD2     UNASSIGNED  PAD_2        PAD_8      PAD_0      UNASSIGNED  PAD_6      UNASSIGNED  PAD_4      F10           #2    -J2 8(Common)
# Joypins               |N|         |J2 2(D)|    |J2 1(U)|  |J2 6(F)|  |N|         |J2 4(R)|  |N|         |J2 3(L)|  J1 8 (Common)       
end
macroblock
#Left Shift Keys....
        macro DOWN LSHIFT # Left Shift + Down = Up
                CLEAR_META LSHIFT
                MAKE UP
                onbreak
                BREAK UP
        endmacro
        
        macro RIGHT LSHIFT # Left Shift + Right = Left
                CLEAR_META LSHIFT
                MAKE LEFT
                onbreak
                BREAK LEFT
        endmacro
        
        macro F1 LSHIFT # Left Shift + F1 = F2
                CLEAR_META LSHIFT
                MAKE F2
                onbreak
                BREAK F2
        endmacro
        
        macro F3 LSHIFT # Left Shift + F3 = F4
                CLEAR_META LSHIFT
                MAKE F4
                onbreak
                BREAK F4
        endmacro
        
        macro F5 LSHIFT # Left Shift + F5 = F6
                CLEAR_META LSHIFT
                MAKE F6
                onbreak
                BREAK F6
        endmacro
        
        macro F7 LSHIFT # Left Shift + F7 = F8
                CLEAR_META LSHIFT
                MAKE F8
                onbreak
                BREAK F8
        endmacro
        
        macro F10 LSHIFT # Left Shift + Restore = F12
                CLEAR_META LSHIFT
                MAKE F12
                onbreak
                BREAK F12
        endmacro
        
# ALT Keys (Runstop Key)
        
        
        macro F1 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE F11
                onbreak
                BREAK F11
                endmacro
        
        macro F3 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE BACK_QUOTE
                onbreak
                BREAK BACK_QUOTE
        endmacro
        
        macro F5 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE PAGE_UP
                onbreak
                BREAK PAGE_UP
        endmacro
        
        macro F7 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE PAGE_DOWN
                onbreak
                BREAK PAGE_DOWN
        endmacro
        
        macro F10 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE F9
                onbreak
                BREAK F9
        endmacro
        
endblock