©Quantum Research Group Ltd.
0x4B - Key Touch Reporting for Group
E
0
X
45 - ERROR
C
ODES FOR
G
Bytes / Cmd # Bytes Rtnd
ROUP
K
Scope
n/a
1, 4, 16
Bytes / Cmd # Bytes Rtnd
Returns
n/a
0x00..0xFF
Scope
n/a
1, 4, 16
Returns
n/a
0x00..0xFF
Put
Get
n/a
1
n/a
1 or 4
Put
Get
n/a
1
n/a
1 or 4
Section 2.11, p. 7
Section 2.11, p. 7
Uppercase 'K'. Returns 1 or 4 bytes depending on the current
scope. The byte(s) returned contain a bit pattern which
indicates touched keys. A scope of a single key, a row or a
column will return one byte. A scope of all keys will return 4
bytes.
Uppercase 'E'. Returns general error codes for a range of
keys defined by scope. Returns either 1 or 4 bytes depending
on whether a single key, row, column, or entire matrix are
selected.
The bitfields for single key scope are the same as for 'e'
above.
The bitfields for a single key are:
b7
-
b6
-
b5
-
b4
-
b3
-
b2
-
b1
-
b0
key
The bitfields for a single row (X) are:
b7
-
b6
-
b5
-
b4
-
b3
Y3
b2
Y2
b1
Y1
b0
Y0
The bitfields for a single row (scope is X) are:
b7
-
b6
-
b5
-
b4
-
b3
Y3
b2
Y2
b1
Y1
b0
Y0
The bitfields for a single column (Y) are:
b7
-
b6
-
b5
-
b4
-
b3
X3
b2
X2
b1
X1
b0
X0
The bitfields for a single column (scope is Y) are:
b7
-
b6
-
b5
-
b4
-
b3
X3
b2
X2
b1
X1
b0
X0
The bitfields for a global response are:
b7
-
b6
-
b5
-
b4
-
b3
b2
X3Y0 X2Y0 X1Y0 X0Y0
b1
b0
The bitfields for a global report are:
byte1
byte2
byte3
byte4
3
2
1
0
b7
-
b6
-
b5
-
b4
-
b3
b2
X3Y0 X2Y0 X1Y0 X0Y0
b1
b0
X3Y1 X2Y1 X1Y1 X0Y1
-
-
-
-
-
-
-
-
-
-
-
-
byte1
byte2
byte3
byte4
7
6
5
4
3
2
1
0
X3Y2 X2Y2 X1Y2 X0Y2
11 10
X3Y3 X2Y3 X1Y3 X0Y3
15 14 13 12
X3Y1 X2Y1 X1Y1 X0Y1
-
-
-
-
-
-
-
-
-
-
-
-
9
8
7
6
5
4
X3Y2 X2Y2 X1Y2 X0Y2
11 10
X3Y3 X2Y3 X1Y3 X0Y3
15 14 13 12
9
8
Byte 1 is the first returned byte in the sequence.
In all the above examples a '1' in a bit position indicates that
there is some type of error associated with the key. The use
of the 'e' command (or 'E' with scope set to a specific key) will
specify the nature of the error.
Byte 1 is the first returned byte in the sequence.
In all the above examples a '1' in a bit position indicates that
the key is touched; a '0' indicates no touch.
k
0
X
6B - REPORTING OF
F
Bytes / Cmd
IRST
T
OUCHED
K
#Bytes Rtnd
EY
Scope
n/a
n/a
Returns
n/a
0x00..0xFF
Put
Get
n/a
1
n/a
1
Section 2.11, p. 7
Lowercase 'K'. Returns a byte that indicates which (if any) key
has been touched. The byte is structured as follows:
b7
m
b6
-
b5
-
b4
-
b3
k3
b2
k2
b1
k1
b0
k0
Bits are used as follows:
m - if '1', indicates that yet another key is active
k0..k3 - indicates the key number of a first detected key,
in the range 0..15 (0x00..0x0F).
If a reported key drops out while other keys are active, 'k' will
report one of the other active keys, but there is no rule for
which of the next keys gets reported in k0..k5.
If the byte returned has a value of 255 (0xFF), then no key
has been detected.
lQ
20
www.qprox.com QT60161B / R1.03