Okay, suicidal_orange, here is the GH60 code currently in the repo:
num_rows = 5
num_cols = 14
strobe_cols = True
strobe_low = True
matrix_hardware = [
#     Port mask     Dir mask
    ( 0b11111010 , 0b11111010 ),    # REF_PORTB
    ( 0b11000000 , 0b11000000 ),    # REF_PORTC
    ( 0b11111111 , 0b11010000 ),    # REF_PORTD
    ( 0b01000000 , 0b01000000 ),    # REF_PORTE
    ( 0b00000011 , 0b00000011 )     # REF_PORTF
]
matrix_strobe = [
#     REF_PORTB    REF_PORTC    REF_PORTD    REF_PORTE   REF_PORTF
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000010 ),
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000001 ),
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b00000000 , 0b00000011 ),
    ( 0b11111010 , 0b01000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b10000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b10111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b11000000 , 0b01000000 , 0b00000011 ),
    ( 0b11111000 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b01111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11011010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11101010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b01010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b10010000 , 0b01000000 , 0b00000011 ),
    ( 0b11110010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 )
]
matrix_sense = [
#      Port        Pin mask
    ( REF_PORTD , (1 << 0) ),
    ( REF_PORTD , (1 << 1) ),
    ( REF_PORTD , (1 << 2) ),
    ( REF_PORTD , (1 << 3) ),
    ( REF_PORTD , (1 << 5) )
]
Here is the same layout, but reversed:
num_rows = 5
num_cols = 14
strobe_cols = False
strobe_low = True
matrix_hardware = [
#     Port mask     Dir mask
    ( 0b11111010 , 0b00000000 ),    # REF_PORTB
    ( 0b11000000 , 0b00000000 ),    # REF_PORTC
    ( 0b11111111 , 0b00101111 ),    # REF_PORTD
    ( 0b01000000 , 0b00000000 ),    # REF_PORTE
    ( 0b00000011 , 0b00000000 )     # REF_PORTF
]
matrix_strobe = [
#     REF_PORTB    REF_PORTC    REF_PORTD    REF_PORTE    REF_PORTF
    ( 0b00000000 , 0b00000000 , 0b00101110 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00101101 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00101011 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00100111 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00001111 , 0b00000000 , 0b00000000 )
]
matrix_sense = [
#      Port        Pin mask
    ( REF_PORTF , (1 << 0) ),
    ( REF_PORTF , (1 << 1) ),
    ( REF_PORTE , (1 << 6) ),
    ( REF_PORTC , (1 << 7) ),
    ( REF_PORTC , (1 << 6) ),
    ( REF_PORTB , (1 << 6) ),
    ( REF_PORTD , (1 << 4) ),
    ( REF_PORTB , (1 << 1) ),
    ( REF_PORTB , (1 << 7) ),
    ( REF_PORTB , (1 << 5) ),
    ( REF_PORTB , (1 << 4) ),
    ( REF_PORTD , (1 << 7) ),
    ( REF_PORTD , (1 << 6) ),
    ( REF_PORTB , (1 << 3) )
]
Notice the differences.  strobe_cols is now False in the later code, so it strobes the rows and senses the columns, and the direction masks are different.
Let me know if it works, I will commit it