운영 체제: 데비안 11
udev
다음과 같은 구성 파일이 함께 제공됩니다 /usr/lib/udev/hwdb.d/60-sensor.hwdb
.
# Allowed properties are:
# ACCEL_MOUNT_MATRIX=<matrix>
# PROXIMITY_NEAR_LEVEL=<value>
#
# where <matrix> is a mount-matrix in the format specified in the IIO
# subsystem[1]. The default, when unset, is equivalent to:
# ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1
# eg. the identity matrix,
# and <value> is an integer value above which an object is considered
# close by a proximity sensor:
# PROXIMITY_NEAR_LEVEL=100
#
# [1]: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dfc57732ad38f93ae6232a3b4e64fd077383a0f1
#
# Note for devices where the display (LCD panel) is mounted non upright
# in the device's casing, e.g. mounted upside-down or 90 degree rotated,
# the ACCEL_MOUNT_MATRIX should be such that the x and y axis matches the
# x and y axis of the display, not those of the casing, so that desktop
# environments using the accelerometer data for rotation will e.g.
# automatically flip their output for an upside-down display when the device
# is held upright.
#
# ACCEL_LOCATION=<location>
#
# where <location> is the location of the sensor. This value could be 'base'
# or 'display'. The default, when unset, is equivalent to:
# ACCEL_LOCATION=display
이와 같은 예
#########################################
# Google Chromebooks
#########################################
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGOOGLE:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
Debian 11을 실행하는 Pixelbook이 있고 태블릿 모드의 화면은 항상 180도 회전합니다(세로 및 프로필 모드). 회전 행렬을 적용하면 화면이 z축을 기준으로 180도 회전할 것이라고 생각했습니다. 즉... [-1 0 0 -1, 0 0 0 1] in /etc/udev/hwdb 입니다. d 파일을 사용하면 문제가 해결됩니다. 그러나 지금까지 그 노력은 아무런 변화도 가져오지 못했습니다. 회전 행렬이 잘못되었기 때문인가요?
또 다른 문제는 Pixelbook에 2개의 가속도계가 있다는 것입니다. 하나는 덮개에, 다른 하나는 베이스에 있습니다. modalias
예제 cros-ec-accel
에 표시된 대로 이지만 시작될 때마다 변경되는 숫자 인 sysfs
가 추가됩니다 . 위의 예에서 센서가 잘못 또는 부적절하게 참조되었습니까? 나는 시도했지만 아무 소용이 없었습니다..N.auto
N
sensor:modalias:platform:cros-ec-accel.*:dmi:*:svnGOOGLE:pnEve*
ACCEL_LOCATION=<lid|base>