I think Bernie had it right, let's see if I can explain it differently.
Rung for X0 output will be 8 parallel XIC instructions and one OTE.
The 8 XIC will be ButtonX0Y0, ButtonX0Y1, ButtonX0Y2, ButtonX0Y3, ButtonX0Y4, ButtonX0Y5, ButtonX0Y6, ButtonX0Y7.
Rung for Y0 output will be 8 parallel XIC instructions and one OTE.
The 8 XIC will be ButtonX0Y0, ButtonX1Y0, ButtonX2Y0, ButtonX3Y0, ButtonX4Y0, ButtonX5Y0, ButtonX6Y0, ButtonX7Y0.
So when you press buttonX0Y0, outputs X0 and Y0 go on.
There should be no need to program toggle functions, unless those were implemented in the physical keyboard (doesn't look it).
So, to reiterate. The proface writes to 64 bits in the PLC. I am calling these buttonX0Y0 thru button X7Y7. Actual address to your taste.
16 rungs controlling 16 outputs should replace the old matrix. Your knowledge of the old matrix will allow you to assign the function of each button and label them properly on the Proface screen.