diff --git a/backend/genesys_sensor.h b/backend/genesys_sensor.h index d5533f5a3..8b6404f95 100644 --- a/backend/genesys_sensor.h +++ b/backend/genesys_sensor.h @@ -279,6 +279,10 @@ struct Genesys_Sensor { // resolution. The value zero does not set the override. unsigned register_dpihw_override = 0; + // The scanner may be setup to use a custom logical dpihw that does not correspond to any actual + // resolution. The value zero does not set the override. + unsigned logical_dpihw_override = 0; + // The scanner may be setup to use a custom dpiset value that does not correspond to any actual // resolution. The value zero does not set the override. unsigned dpiset_override = 0; diff --git a/backend/genesys_tables_sensor.cc b/backend/genesys_tables_sensor.cc index ae1e995df..9726edb98 100644 --- a/backend/genesys_tables_sensor.cc +++ b/backend/genesys_tables_sensor.cc @@ -47,6 +47,9 @@ inline unsigned default_get_logical_hwdpi(const Genesys_Sensor& sensor, unsigned xres) { + if (sensor.logical_dpihw_override) + return sensor.logical_dpihw_override; + // can't be below 600 dpi if (xres <= 600) { return 600;