What the hell with different key matrices? How to read a specific key?

By DarkSchneider

Paladin (1019)

DarkSchneider's picture

27-03-2023, 09:54

How it is supposed I can read a specific key? The key matrix can be different for each region, and if I am not mistaken, is not stored in the BIOS to read and create your map at start.
And having the USA, international and european ones in a paper is not a solution, as others unknown like korean, bazilian, specific Europe continental countries and etc. could have their own one and different.

Login or register to post comments

By ro

Scribe (4963)

ro's picture

27-03-2023, 11:24

Yes, that can be a pain of youy're not using default/bios stuff.
https://www.msx.org/wiki/Keyboard_Matrices

Few ways to solve that. I've created a general matrix read function that has the correct matrix set earlier which re-maps to one specific matrix I assigned.

By DarkSchneider

Paladin (1019)

DarkSchneider's picture

27-03-2023, 11:17

But how do you detect the system region to map its supposed matrix? I can't find anything about it.

By ro

Scribe (4963)

ro's picture

27-03-2023, 11:28

By reading the region byte at #002C. I scanned the URL I gave before but couldn't see information about that.
Quickly looked at my source, and here's what I use
0 = turbo R (jap)
2 = French
3 = UK
else US

Perhaps this is not complet, tho. But you get the point.

By gdx

Enlighted (6214)

gdx's picture

27-03-2023, 11:46

Look for the Top Secret 3 pdf. It contains many matrix example.

ro wrote:

By reading the region byte at #002C. I scanned the URL I gave before but couldn't see information about that.
Quickly looked at my source, and here's what I use
0 = turbo R (jap)
2 = French
3 = UK

This is insufficient.

By DarkSchneider

Paladin (1019)

DarkSchneider's picture

27-03-2023, 12:14

OK so mainly is not possible. Cannot map any matrix layout, and supposing there are no more unknown, as even can have its own by brand or model.
I can't understand how it was not designed in the way that the matrix would be somewhere in the BIOS for read.

Can only think for assigning a default 2nd key button is to use one of the fixed rows (maybe CODE key) and let the user to define, that is reading all row-column and get the pair when something pressed, then assign.

Quote:

Only rows 06 to 08 and the keypad numbers remain invariable.

This is, rows 6-10.