2013-08-15 51 views
16

Tôi biết, tôi có thể nghe thiết bị đầu vào thông qua /dev/input/eventx trong Android/Linux. Nếu bạn là superuser, bạn có thể gửi sự kiện tới thiết bị.Làm cách nào để tạo thiết bị chuột ảo mới trên thiết bị Android của tôi?

tôi xin gửi đến sự kiện chuột-thiết bị Android của tôi như một superuser, như teamviewer trên Windows hoặc Linux, và tôi cần phải làm điều này là với một con chuột. Nếu không có nó, tôi nhận được lỗi như Could not open /dev/input/event8, No such device khi gửi sự kiện này sendevent /dev/input/event8 xxxx xxxx xxxxxxxx để /dev/input/event8, nút tạo ra với mknod /dev/input/event8 c 13 71

Vấn đề này có thể được giải quyết kết nối Bluetooth chuột để điện thoại của tôi. Thiết bị được tạo tự động dưới /sys/devices/platform/tegra_uart.2/tty/ttyHS2/hci0 có tên hci0: 11 cũng tạo sự kiện đầu vào /dev/input/event7 (major 13 minor 71). Bây giờ, tôi có thể gửi các sự kiện đến nút đó và điều khiển con trỏ chuột của Android. Nhưng tôi không muốn kết nối với chuột.

Ai đó có thể đề xuất cách tạo thiết bị chuột ảo trên thiết bị Android của tôi?

+2

thiết bị chuột này? O_O –

+0

Có, chẳng hạn như màn hình cảm ứng nhưng không có thiết bị phần cứng thực. Ý tôi là, thiết bị chuột ảo. –

+0

@ErdemUYSAL Xem http://lxr.free-electrons.com/source/Documentation/input/input.txt và cả mã trong trình điều khiển/đầu vào/chuột /. –

Trả lời

12

Từ những gì tôi thấy bạn nên tạo thiết bị ảo của riêng bạn với tài xế riêng của bạn, May mắn thay có một cách dễ dàng để làm như vậy bằng uinput

Có một hướng dẫn dễ dàng cho việc bắt đầu here, và điều này question có thể là hướng dẫn tốt để viết trình điều khiển ảo của riêng bạn.

Tôi nghĩ điều này chỉ có thể được thực hiện nếu bạn có quyền truy cập vào hạt nhân, và tạo riêng của bạn (tôi không nghĩ rằng thay đổi người sử dụng rom là một giải pháp tốt), nhưng sau khi đọc this, rõ ràng là Uinput có thể chạy trong chế độ người dùng.

Lưu ý:

Tôi đồng ý với recommendition sử dụng các sự kiện liên lạc; vì giải pháp này phổ biến hơn và có ý nghĩa, hãy kiểm tra đề xuất thứ hai là answer

+1

Câu trả lời hay. Tôi muốn thêm rằng thiết bị sẽ biến mất khi chương trình kết thúc.Tôi đã có thể tạo một thiết bị đầu vào và gửi các sự kiện đầu vào tới tệp/dev/input/event *. –

+0

@LeonvanNoord cảm ơn, vui vì tôi có thể giúp, nhưng bạn có thể vui lòng rõ ràng hơn về thiết bị biến mất không? chỉ để giúp bất cứ ai tìm kiếm câu trả lời này trong tương lai. – ProllyGeek

+0

Nếu chương trình được mô tả trong phần 1 của [hướng dẫn] (http://thiemonge.org/getting-started-with-uinput) kết thúc chạy, thiết bị sẽ biến mất. Nó không còn hiện diện trong/proc/bus/input/devices và tương ứng/dev/input/event * cũng biến mất. –

Các vấn đề liên quan