gia tốc kế + xoay màn hình trên laptop không màn hình cảm ứng?


8

Gần đây tôi đã có một máy tính xách tay hp không màn hình cảm ứng với gia tốc kế hdd. Sau khi nâng cấp nó lên thử nghiệm Debian, tôi nhận thấy rằng bất cứ khi nào tôi nghiêng máy tính xách tay của mình lên trên +45 độ, màn hình sẽ bị đảo lộn. Điều ngược lại xảy ra khi tôi nghiêng máy tính xách tay của tôi -45 độ. Để làm rõ, tôi đang đối mặt với máy tính xách tay của tôi với màn hình đối diện với tôi với bàn phím song song với mặt đất. Màn hình cũng xoay bất cứ khi nào tôi nghiêng máy tính xách tay của tôi theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ.

Có tập tin nào để tôi có thể chỉnh sửa để thay đổi hướng quay của màn hình không?

Gia tốc kế /proc/bus/input/devicescho thấy điều này:

    I: Bus=0019 Vendor=0000 Product=0000 Version=0000
    N: Name="ST LIS3LV02DL Accelerometer"
    P: Phys=lis3lv02d/input0
    S: Sysfs=/devices/platform/lis3lv02d/input/input7
    U: Uniq=
    H: Handlers=event6 js0
    B: PROP=0
    B: EV=9
    B: ABS=7   

BIÊN TẬP:

Tôi thấy nó watch -n 1 'cat /sys/devices/platform/lis3lv02d/position'tương tự như những gì được tìm thấy với lệnh bên dưới. Ngoại trừ nó chỉ hiển thị tọa độ như (18,18,1098).

evtest /dev/input/event6 cho thấy điều này:

    william@wksp0:~/Downloads$ sudo evtest /dev/input/event6
    Input driver version is 1.0.1
    Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
    Input device name: "ST LIS3LV02DL Accelerometer"
    Supported events:
      Event type 0 (EV_SYN)
      Event type 3 (EV_ABS)
        Event code 0 (ABS_X)
          Value     20
          Min    -2304
          Max     2304
          Fuzz      18
          Flat      18
        Event code 1 (ABS_Y)
          Value    -38
          Min    -2304
          Max     2304
          Fuzz      18
          Flat      18
        Event code 2 (ABS_Z)
          Value   1105
          Min    -2304
          Max     2304
          Fuzz      18
          Flat      18
    Properties:
    Testing ... (interrupt to exit)
    Event: time 1483747056.088195, type 3 (EV_ABS), code 1 (ABS_Y), value -23
    Event: time 1483747056.088195, -------------- SYN_REPORT ------------
    Event: time 1483747056.124189, type 3 (EV_ABS), code 0 (ABS_X), value 20
    Event: time 1483747056.124189, type 3 (EV_ABS), code 1 (ABS_Y), value -38
    Event: time 1483747056.124189, type 3 (EV_ABS), code 2 (ABS_Z), value 1105
    Event: time 1483747056.124189, -------------- SYN_REPORT ------------
    Event: time 1483747056.210931, type 3 (EV_ABS), code 0 (ABS_X), value -18
    Event: time 1483747056.210931, type 3 (EV_ABS), code 1 (ABS_Y), value -28
    Event: time 1483747056.210931, type 3 (EV_ABS), code 2 (ABS_Z), value 1107...

EDIT2:

Sau một vài lần googling, tôi đã tình cờ thấy điều này dẫn tôi đến một số tập tin thú vị mà không có nhiều sự giúp đỡ về điều này. : P


lưu ý: Tôi không tìm cách vô hiệu hóa hoặc đưa vào danh sách đen gia tốc kế. Tôi chỉ muốn màn hình xoay theo hướng khác
MrWm

Trước tiên, tôi sẽ cố gắng tìm hiểu nguyên nhân gây ra hành vi: BIOS, một số chương trình hệ thống, .... xrandrHiển thị màn hình có bị xoay nếu màn hình bị xoay không? Loại sự kiện nào bạn nhận được cho``evtest / dev / input / event6`? (giả sử đó là event6 trên mỗi lần khởi động, hãy kiểm tra đường dẫn).
dirkt

yup, xrandrcho thấy màn hình được xoay khi sự kiện xảy ra. Từ những gì tôi có thể nói, nó không phải là một thứ BIOS mà là một thứ hạt nhân hoặc một thứ chương trình.
MrWm

Bạn có đang sử dụng gnome 3.18 hoặc 3.20 kết hợp với iio-sensor-proxy (theo mặc định là gnome) không?
George Vasiliou

Tôi đang sử dụng quế và vâng, tôi cũng đã cài đặt iio-sensor-proxy.
MrWm

Câu trả lời:


7

Toàn bộ câu chuyện bạn đề cập thực sự là một loại lỗi trong iio-sensor-proxy hoặc trong mã DE của bạn, người sử dụng thông tin proxy iio-sensor-proxy.

Không phải bios hay kernel nào xoay vòng mà là sự kết hợp giữa iio-sensor-proxy và Môi trường máy tính để bàn của bạn.

DE giống như Gnome (và Cinnamon khi bật ra) sẽ tự động xoay màn hình dựa trên dữ liệu được cung cấp bởi iio-sensor-proxy trong dbus.

Bạn có thể thử xóa / lọc iio-sensor-proxy và xoay màn hình sẽ biến mất hoàn toàn.

Không rõ đây là lỗi iio-sensor-proxy hay lỗi Cinnamon. Đó có thể là iio-cảm biến-proxy đang đọc sai cách dữ liệu gia tốc của bạn hoặc có thể là Cinnamon, ngay cả khi nó nhận được dữ liệu chính xác bằng proxy cảm biến, xoay màn hình sai.

Bạn có thể làm rõ vấn đề này bằng cách chạy monitor-sensortrong thiết bị đầu cuối gốc. Tiện ích này đi kèm với gói iio-cảm biến-proxy và hiển thị trong thiết bị đầu cuối trạng thái hiện tại của gia tốc kế / hướng màn hình hiện tại.
Nếu định hướng được hiển thị chính xác bởi cảm biến màn hình thì đó là lỗi Cinnamon. Nhưng tôi chắc chắn 90% rằng đây là một iio-sensor-proxylỗi và bạn nên báo cáo cho nhà phát triển.

PS: Người ta cũng đã đề cập rằng proxy cảm biến đã hoạt động tốt với các hạt nhân lên đến phiên bản 4.7 nhưng có một số vấn đề với kernel 4.8 trở lên. Bạn có thể thử cài đặt kernel cũ hơn (ví dụ 4.7) để kiểm tra.

Nếu cảm biến màn hình báo cáo chính xác hướng và đây là lỗi Cinnamon, như một cách giải quyết, bạn có thể tắt tính năng xoay màn hình tự động Cinnamon và chạy một loại kịch bản shell sẽ thực hiện xoay chính xác dựa trên dữ liệu của cảm biến màn hình.

PS: Gnome cung cấp tùy chọn tắt hoàn toàn xoay màn hình tự động, tôi không chắc liệu Cinnamon cũng có tùy chọn này hay không.

Trong XFCE đã cài đặt iio-sensor-proxy nhưng các nhà phát triển XFCE không thực hiện xoay màn hình tự động (chưa), chúng tôi áp dụng tập lệnh này để xoay màn hình tự động: https://linuxappfinder.com/blog/auto_screen_rotation_in_ub Ubuntu

PS: Phiên bản cải tiến cho màn hình cảm ứng với ma trận biến đổi: https://github.com/gevasiliou/PythonTests/blob/master/autorotate.sh

Cập nhật để tham khảo trong tương lai / "tìm kiếm google" trong tương lai

Theo lời khuyên trong các bình luận, bằng cách chạy monitor-sensortrong một thiết bị đầu cuối gốc và quan sát các thông báo được cung cấp bởi iio-sensor-proxy, nó đã chứng minh rằng iio-sensor-proxy được hiểu chính xác hướng của màn hình thực.
Kết quả là đây có vẻ là một lỗi Cinnamon mặc dù nhận được thông tin chính xác bởi iio-sensor-proxy đang xoay màn hình sai.

Bạn có thể tắt tính năng xoay tự động Cinnamon và thử tập lệnh xoay tự động như được tư vấn ở trên ( https://linuxappfinder.com/blog/auto_screen_rotation_in_ub Ubuntu ).

Để vô hiệu hóa chế độ tự động nội bộ của Cinnamon, bạn cần đăng ký settings set org.cinnamon.settings-daemon.plugins.orientation active falsetheo lời khuyên trong bình luận của OP.


Tôi thấy rằng monitor-sensorcó định hướng đúng. Bây giờ tất cả tôi chỉ cần tìm ra là làm thế nào để vô hiệu hóa xoay màn hình tự động trên này. : P
MrWm

cuối cùng đã tìm thấy nó:settings set org.cinnamon.settings-daemon.plugins.orientation active false
MrWm

@MrWm Tốt lắm! Nó có hoạt động không? Tôi có nghĩa là nó vô hiệu hóa tự động xoay như mong đợi? PS: Nếu bạn thích, bạn có thể gửi lỗi này cho người Cinnamon để khắc phục sự cố này. Thật tuyệt khi Môi trường máy tính để bàn bắt đầu hỗ trợ xoay màn hình tự động (vài tháng trước chỉ là Gnome3), vì vậy điều quan trọng là phải được thực hiện ngay!
George Vasiliou

vâng, nó vô hiệu hóa xoay màn hình. Về cơ bản, đó là cùng một lệnh được sử dụng trong gnome ngoại trừ "gnome" được hoán đổi với "quế". :)
MrWm

câu trả lời chính xác! vấn đề lỗi! Tôi có 'iio-sensor-proxy' báo cáo sai hướng trên fedora 30, kernel 5.3.15 ... -_-
scjorge

6

Sử dụng dconf-editor, thay đổi giá trị chính cho

/org/cinnamon/settings-daemon/plugins/orientation/active

để False.

Điều này giống hệt với giải pháp dòng lệnh được trình bày ở trên, nhưng sử dụng công cụ gui dconf-editor.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.