2012-04-06 41 views
6

Nhấp chuột phải của chuột USB được cắm vào android (ics) luôn được chỉ định làm nút 'quay lại'? Tôi có một máy tính bảng không có.Android usb chuột nhấp chuột phải hành vi đúng (ICS)

Tôi muốn xóa thanh trạng thái và vẫn có thể sử dụng máy tính bảng bằng chuột USB.

Có ai biết vị trí/cách định cấu hình hành vi trong Android không?

+0

Vui lòng chỉ định Mô hình/chế tạo của máy tính bảng. –

+0

Đây là thương hiệu không có tên trực tiếp từ nhà máy ở Trung Quốc. Có vẻ như họ đã phạm sai lầm, và vào thời điểm đó, tôi không biết hành vi chuẩn là gì. Vì họ không thừa nhận đó là một sai lầm ngay lập tức. Cảm ơn turbo. –

Trả lời

9

Trả lời muộn nhưng câu trả lời là có. Tôi sẽ cung cấp thêm một số chi tiết về chủ đề này vì nó là chủ đề chỉ trên Internet thuộc loại này.

Hành vi mặc định: Android coi đây là nút quay lại, không có ngoại lệ hiển thị.

Đây là một tính năng khá hay cho các điện thoại và các ứng dụng thông thường. Tuy nhiên, hai loại người muốn tính năng này được thực hiện khác nhau. Modders và nhà phát triển ứng dụng. Fix

Modders': Trên một thiết bị bắt nguồn từ (và có khả năng unrooted cho khá một vài thiết bị lép vế với adb mở khóa), quan sát Generic.kl dưới /system/usr/keylayout. Tìm kiếm cờ KEY_BACK, có thể có nhiều mã phím trên nhiều dòng được liên kết với nó. Đối với tôi, nó là key 158 với cờ WAKE_DROPPED. Đối với chức năng "nhấn chuột phải" chung, bạn sẽ muốn hoán đổi mã số cho phím quay lại và phím menu, vì vậy khi chuột gửi lệnh back-key, hệ thống sẽ thực sự kích hoạt lệnh phím menu, trong khi vẫn duy trì một số khóa phần cứng (phím menu có nhãn) trên thiết bị để quay lại. Có, điều này sẽ đảo ngược các phím phần cứng trên điện thoại của bạn, nhưng đó là giải pháp dễ nhất, không cần xây dựng lại toàn bộ ROM. Nếu đây là vì lý do công ty hoặc chuyên nghiệp, có thể xem bài viết này: Overriding Mouse Events Kernel-Level. Tôi thực sự khuyên bạn nên tạo mô-đun Xposed ghi đè quy trình mà họ đã tham chiếu. Nếu không, hãy tìm cách làm thế nào để remap keycodes, xin lỗi tôi không thể tìm thấy một bài viết thẳng về phía trước ở đây.

Nhà phát triển ứng dụng 'Khắc phục: Không phải gốc: Ghi đè khóa sau trong ứng dụng của bạn và trả về true. Trong ghi đè onBackPressed() của bạn, hãy thực hiện bất kỳ chức năng nhấp chuột phải nào cần thiết. Đơn giản! Vì bạn có nhiều khả năng muốn có một chức năng menu ngữ cảnh giống như PC, bạn cũng sẽ cần phải theo dõi vị trí của chuột, thông qua trình lắng nghe MotionEvent được áp dụng cho chế độ xem gốc với các cuộc gọi event.getRawX() và RawY() biến. Sau đó bạn có thể đặt menu ngữ cảnh của bạn (kích thước ListView hoặc VerticalLinearLayout) dưới con trỏ bằng cách thiết lập lề trên và lề trái và đặt nó hiển thị. Nếu bạn muốn thực hiện một hàm thứ cấp trên một đối tượng được di chuột qua bố cục của bạn bằng cách nhấp chuột phải, chẳng hạn như xóa hoặc sao chép, bạn sẽ phải tự tìm ra đối tượng mà tọa độ chuột được lưu trữ đang di chuột qua. Có thể bạn sẽ phải thêm MotionEvent.ACTION_HOVER_ENTER người nghe trên mọi đối tượng bị ảnh hưởng và lưu trữ ID đối tượng trong biến toàn cục để sử dụng khi hàm onBackPressed() được gọi. (Tôi sẽ cung cấp mã khi có thời gian!)

Hy vọng điều này sẽ giúp mọi người khám phá một chủ đề cụ thể như vậy! :)

+0

Bạn cũng có thể ghi đè 'boolean onKeyDown (int keyCode, sự kiện KeyEvent cuối cùng)' và 'onKeyUp' trong lớp hoạt động của bạn và kiểm tra' if (keyCode == KeyEvent.KEYCODE_BACK && event.GetSource() == InputDevice.SOURCE_MOUSE). ..'để lọc các phím bấm được tạo bởi chuột USB, nhưng để xử lý điện thoại của bạn Phím quay lại bình thường. – pelya

+0

Đó là cách thực hiện cụ thể hơn. Cám ơn vì đã chia sẻ! –

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