Nhập tập tin cấu hình thiết bị

Tệp cấu hình thiết bị đầu vào (tệp .idc ) chứa các thuộc tính cấu hình dành riêng cho thiết bị ảnh hưởng đến hoạt động của thiết bị đầu vào.

Các tệp cấu hình thiết bị đầu vào thường không cần thiết đối với các thiết bị ngoại vi tiêu chuẩn như bàn phím và chuột HID vì hoạt động mặc định của hệ thống thường đảm bảo rằng chúng sẽ hoạt động tốt. Mặt khác, các thiết bị nhúng tích hợp, đặc biệt là màn hình cảm ứng, hầu như luôn yêu cầu các tệp cấu hình thiết bị đầu vào để chỉ định hành vi của chúng.

Cơ sở lý luận

Android tự động phát hiện và định cấu hình hầu hết các khả năng của thiết bị đầu vào dựa trên các loại sự kiện và thuộc tính được báo cáo bởi trình điều khiển thiết bị đầu vào nhân Linux liên quan.

Ví dụ: nếu thiết bị đầu vào hỗ trợ loại sự kiện EV_REL và mã REL_XREL_Y cũng như loại sự kiện EV_KEYBTN_MOUSE thì Android sẽ phân loại thiết bị đầu vào là chuột. Hành vi mặc định của chuột là hiển thị con trỏ trên màn hình để theo dõi chuyển động của chuột và mô phỏng các thao tác chạm khi nhấp chuột. Mặc dù chuột có thể được cấu hình khác nhau nhưng hành vi mặc định thường đủ cho các thiết bị ngoại vi chuột tiêu chuẩn.

Một số loại thiết bị đầu vào nhất định mơ hồ hơn. Ví dụ: cả màn hình cảm ứng đa điểm và bàn di chuột đều hỗ trợ loại sự kiện EV_ABS và mã ABS_MT_POSITION_XABS_MT_POSITION_Y ở mức tối thiểu. Tuy nhiên, mục đích sử dụng của các thiết bị này khá khác nhau và không phải lúc nào cũng có thể được xác định một cách tự động. Ngoài ra, cần có thông tin bổ sung để hiểu được thông tin về áp suất và kích thước được báo cáo bởi các thiết bị cảm ứng. Do đó các thiết bị cảm ứng, đặc biệt là màn hình cảm ứng tích hợp, thường cần có tệp IDC.

Vị trí

Các tệp cấu hình thiết bị đầu vào được đặt theo nhà cung cấp USB, id sản phẩm (và phiên bản tùy chọn) hoặc theo tên thiết bị đầu vào.

Các đường dẫn sau đây được tham khảo theo thứ tự.

  • /odm/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /odm/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc
  • /odm/usr/idc/ device-name .idc
  • /vendor/usr/idc/ device-name .idc
  • /system/usr/idc/ device-name .idc
  • /data/system/devices/idc/ device-name .idc

Khi xây dựng đường dẫn tệp chứa tên thiết bị, tất cả các ký tự trong tên thiết bị ngoại trừ '0'-'9', 'a'-'z', 'A'-'Z', '-' hoặc '_' được thay thế bằng '_'.

Cú pháp

Tệp cấu hình thiết bị đầu vào là một tệp văn bản đơn giản bao gồm các phép gán và nhận xét thuộc tính.

Của cải

Mỗi phép gán thuộc tính bao gồm một tên thuộc tính, một = , một giá trị thuộc tính và một dòng mới. Như thế này:

property = value

Tên thuộc tính là số nhận dạng văn bản bằng chữ không trống. Chúng không được chứa khoảng trắng. Mỗi thành phần của hệ thống đầu vào xác định một tập hợp các thuộc tính được sử dụng để cấu hình chức năng của nó.

Giá trị thuộc tính là các chuỗi ký tự không trống, số nguyên hoặc số dấu phẩy động. Chúng không được chứa khoảng trắng hoặc các ký tự dành riêng \ hoặc " .

Tên và giá trị thuộc tính có phân biệt chữ hoa chữ thường.

Bình luận

Dòng chú thích bắt đầu bằng '#' và tiếp tục đến cuối dòng. Như thế này:

# A comment!

Các dòng trống được bỏ qua.

Ví dụ

# This is an example of an input device configuration file.
# It might be used to describe the characteristics of a built-in touch screen.

# This is an internal device, not an external peripheral attached to the USB
# or Bluetooth bus.
device.internal = 1

# The device should behave as a touch screen, which uses the same orientation
# as the built-in display.
touch.deviceType = touchScreen
touch.orientationAware = 1

# Additional calibration properties...
# etc...

Tài sản chung

Thuộc tính sau đây là chung cho tất cả các loại thiết bị đầu vào.

Tham khảo tài liệu của từng loại thiết bị đầu vào để biết thông tin về các thuộc tính đặc biệt được sử dụng bởi mỗi loại.

device.internal

Định nghĩa: device.internal = 0 | 1

Chỉ định xem thiết bị đầu vào có phải là thành phần tích hợp bên trong chứ không phải là thiết bị ngoại vi được gắn bên ngoài (rất có thể có thể tháo rời).

  • Nếu giá trị là 0 thì thiết bị ở bên ngoài.

  • Nếu giá trị là 1 thì thiết bị là thiết bị bên trong.

  • Nếu giá trị không được chỉ định thì giá trị mặc định là 0 cho tất cả các thiết bị trên bus USB (BUS_USB) hoặc Bluetooth (BUS_BLUETOOTH), nếu không thì là 1 .

Thuộc tính này xác định các quyết định chính sách mặc định liên quan đến sự kiện đánh thức.

Các thiết bị đầu vào bên trong thường không đánh thức màn hình khỏi chế độ ngủ trừ khi được định cấu hình rõ ràng để làm như vậy trong tệp bố cục khóa hoặc trong quy tắc chính sách được mã hóa cứng. Sự khác biệt này ngăn việc nhấn và chạm phím khiến điện thoại của bạn đánh thức một cách giả tạo khi nó ở trong túi của bạn. Thông thường chỉ có một số ít phím đánh thức được xác định.

Ngược lại, các thiết bị đầu vào bên ngoài thường đánh thức thiết bị mạnh hơn vì chúng được cho là đã tắt hoặc không được cắm điện trong quá trình vận chuyển. Ví dụ: nhấn bất kỳ phím nào trên bàn phím ngoài là một dấu hiệu tốt cho thấy người dùng muốn thiết bị thức dậy và phản hồi.

Điều quan trọng là phải đảm bảo rằng giá trị của thuộc tính device.internal được đặt chính xác cho tất cả các thiết bị đầu vào bên trong.

Thẩm định

Đảm bảo xác thực các tệp cấu hình thiết bị đầu vào của bạn bằng công cụ Xác thực sơ đồ bàn phím .

,

Tệp cấu hình thiết bị đầu vào (tệp .idc ) chứa các thuộc tính cấu hình dành riêng cho thiết bị ảnh hưởng đến hoạt động của thiết bị đầu vào.

Các tệp cấu hình thiết bị đầu vào thường không cần thiết đối với các thiết bị ngoại vi tiêu chuẩn như bàn phím và chuột HID vì hoạt động mặc định của hệ thống thường đảm bảo rằng chúng sẽ hoạt động tốt. Mặt khác, các thiết bị nhúng tích hợp, đặc biệt là màn hình cảm ứng, hầu như luôn yêu cầu các tệp cấu hình thiết bị đầu vào để chỉ định hành vi của chúng.

Cơ sở lý luận

Android tự động phát hiện và định cấu hình hầu hết các khả năng của thiết bị đầu vào dựa trên các loại sự kiện và thuộc tính được báo cáo bởi trình điều khiển thiết bị đầu vào nhân Linux liên quan.

Ví dụ: nếu thiết bị đầu vào hỗ trợ loại sự kiện EV_REL và mã REL_XREL_Y cũng như loại sự kiện EV_KEYBTN_MOUSE thì Android sẽ phân loại thiết bị đầu vào là chuột. Hành vi mặc định của chuột là hiển thị con trỏ trên màn hình để theo dõi chuyển động của chuột và mô phỏng các thao tác chạm khi nhấp chuột. Mặc dù chuột có thể được cấu hình khác nhau nhưng hành vi mặc định thường đủ cho các thiết bị ngoại vi chuột tiêu chuẩn.

Một số loại thiết bị đầu vào nhất định mơ hồ hơn. Ví dụ: cả màn hình cảm ứng đa điểm và bàn di chuột đều hỗ trợ loại sự kiện EV_ABS và mã ABS_MT_POSITION_XABS_MT_POSITION_Y ở mức tối thiểu. Tuy nhiên, mục đích sử dụng của các thiết bị này khá khác nhau và không phải lúc nào cũng có thể được xác định một cách tự động. Ngoài ra, cần có thông tin bổ sung để hiểu được thông tin về áp suất và kích thước được báo cáo bởi các thiết bị cảm ứng. Do đó các thiết bị cảm ứng, đặc biệt là màn hình cảm ứng tích hợp, thường cần có tệp IDC.

Vị trí

Các tệp cấu hình thiết bị đầu vào được đặt theo nhà cung cấp USB, id sản phẩm (và phiên bản tùy chọn) hoặc theo tên thiết bị đầu vào.

Các đường dẫn sau đây được tham khảo theo thứ tự.

  • /odm/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /odm/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc
  • /odm/usr/idc/ device-name .idc
  • /vendor/usr/idc/ device-name .idc
  • /system/usr/idc/ device-name .idc
  • /data/system/devices/idc/ device-name .idc

Khi xây dựng đường dẫn tệp chứa tên thiết bị, tất cả các ký tự trong tên thiết bị ngoại trừ '0'-'9', 'a'-'z', 'A'-'Z', '-' hoặc '_' được thay thế bằng '_'.

Cú pháp

Tệp cấu hình thiết bị đầu vào là một tệp văn bản đơn giản bao gồm các phép gán và nhận xét thuộc tính.

Của cải

Mỗi phép gán thuộc tính bao gồm một tên thuộc tính, một = , một giá trị thuộc tính và một dòng mới. Như thế này:

property = value

Tên thuộc tính là số nhận dạng văn bản bằng chữ không trống. Chúng không được chứa khoảng trắng. Mỗi thành phần của hệ thống đầu vào xác định một tập hợp các thuộc tính được sử dụng để cấu hình chức năng của nó.

Giá trị thuộc tính là các chuỗi ký tự không trống, số nguyên hoặc số dấu phẩy động. Chúng không được chứa khoảng trắng hoặc các ký tự dành riêng \ hoặc " .

Tên và giá trị thuộc tính có phân biệt chữ hoa chữ thường.

Bình luận

Dòng chú thích bắt đầu bằng '#' và tiếp tục đến cuối dòng. Như thế này:

# A comment!

Các dòng trống được bỏ qua.

Ví dụ

# This is an example of an input device configuration file.
# It might be used to describe the characteristics of a built-in touch screen.

# This is an internal device, not an external peripheral attached to the USB
# or Bluetooth bus.
device.internal = 1

# The device should behave as a touch screen, which uses the same orientation
# as the built-in display.
touch.deviceType = touchScreen
touch.orientationAware = 1

# Additional calibration properties...
# etc...

Tài sản chung

Thuộc tính sau đây là chung cho tất cả các loại thiết bị đầu vào.

Tham khảo tài liệu của từng loại thiết bị đầu vào để biết thông tin về các thuộc tính đặc biệt được sử dụng bởi mỗi loại.

device.internal

Định nghĩa: device.internal = 0 | 1

Chỉ định xem thiết bị đầu vào có phải là thành phần tích hợp bên trong chứ không phải là thiết bị ngoại vi được gắn bên ngoài (rất có thể có thể tháo rời).

  • Nếu giá trị là 0 thì thiết bị ở bên ngoài.

  • Nếu giá trị là 1 thì thiết bị là thiết bị bên trong.

  • Nếu giá trị không được chỉ định thì giá trị mặc định là 0 cho tất cả các thiết bị trên bus USB (BUS_USB) hoặc Bluetooth (BUS_BLUETOOTH), nếu không thì là 1 .

Thuộc tính này xác định các quyết định chính sách mặc định liên quan đến sự kiện đánh thức.

Các thiết bị đầu vào bên trong thường không đánh thức màn hình khỏi chế độ ngủ trừ khi được định cấu hình rõ ràng để làm như vậy trong tệp bố cục khóa hoặc trong quy tắc chính sách được mã hóa cứng. Sự khác biệt này ngăn việc nhấn và chạm phím khiến điện thoại của bạn đánh thức một cách giả tạo khi nó ở trong túi của bạn. Thông thường chỉ có một số ít phím đánh thức được xác định.

Ngược lại, các thiết bị đầu vào bên ngoài thường đánh thức thiết bị mạnh hơn vì chúng được cho là đã tắt hoặc không được cắm điện trong quá trình vận chuyển. Ví dụ: nhấn bất kỳ phím nào trên bàn phím ngoài là một dấu hiệu tốt cho thấy người dùng muốn thiết bị thức dậy và phản hồi.

Điều quan trọng là phải đảm bảo rằng giá trị của thuộc tính device.internal được đặt chính xác cho tất cả các thiết bị đầu vào bên trong.

Thẩm định

Đảm bảo xác thực các tệp cấu hình thiết bị đầu vào của bạn bằng công cụ Xác thực sơ đồ bàn phím .