in libs/hw---rpi/keys.cpp [177:217]
int pressureLevelByButtonId(int btnId, int codalId) {
int inv = 0;
int v = 0;
switch ((Key)btnId) {
case Key::DOWN:
v = ch0;
inv = 1;
break;
case Key::UP:
v = ch0;
inv = -1;
break;
case Key::RIGHT:
v = ch1;
inv = 1;
break;
case Key::LEFT:
v = ch1;
inv = -1;
break;
default:
break;
}
if (adcFD < 0 || inv == 0) {
return (state & (1 << btnId)) ? 512 : 0;
}
int dead = DEAD / 4;
v = (v - MID) * inv;
v = (v - dead) * 512 / (MID - dead);
if (v < 0)
v = 0;
if (v > 512)
v = 512;
return v;
}