2012-09-03 42 views
6

Tôi muốn ứng dụng của mình hỗ trợ phím tắt. Nhiều thiết bị, chẳng hạn như Asus Transformer có bàn phím bên ngoài có phím số Ctrl (có sẵn trên API cấp 11). Tôi đã thực hiện một số mã, để kiểm tra xem Ctrl công trình quan trọng trong việc giả lập:Phím tắt tùy chỉnh

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    if(Build.VERSION.SDK_INT>10 && 
     event.getAction()==KeyEvent.ACTION_DOWN && 
     event.isCtrlPressed()){ 
    String actionType="NONE"; 
    final int keyCode = event.getKeyCode(); 
    switch(keyCode){ 
    case KeyEvent.KEYCODE_C: 
     actionType = "COPY"; 
     break; 
    case KeyEvent.KEYCODE_V: 
     actionType = "PASTE"; 
     break; 
    case KeyEvent.KEYCODE_X: 
     actionType = "CUT"; 
     break; 
    case KeyEvent.KEYCODE_R: 
     actionType = "REFRESH"; 
     break; 
    case KeyEvent.KEYCODE_A: 
     actionType = "SELECT ALL"; 
     break; 
    } 
    Toast.makeText(ctx, actionType, Toast.LENGTH_SHORT).show(); 
    return true; 
    } 
    return super.dispatchKeyEvent(event); 
} 

Đáng tiếc là nó không hoạt động trong giả lập và tôi không thể kiểm tra xem nó trên phần cứng thực sự.

Tôi có hai câu hỏi:
1. Nó có hoạt động trên thiết bị như Asus Transformer không?
2. Tại sao Phím Ctrl không hoạt động trong trình mô phỏng?

EDIT: Tôi đã cố gắng tìm câu trả lời hoặc giải pháp cho vấn đề của mình, nhưng cả Google cũng như SO đều không giúp được gì.

+0

không có phím CTRL trên hầu hết các thiết bị (ít nhất không phải trên hầu hết bàn phím mềm) – njzk2

+0

Nhưng điều gì về bàn phím phần cứng với phím CTRL? – RedScorpio

Trả lời

1

1. Nó có hoạt động trên thiết bị như Asus Transformer không?

Tôi đã kiểm tra trên của tôi Asus Transformer TF101 với bàn phím vật lý (docking station chuẩn từ Asus) và mã của bạn hoạt động tốt. Tôi nghĩ bạn có thể sử dụng nó mà không gặp vấn đề gì.

2. Tại sao phím CTRL không hoạt động trong trình mô phỏng?

Nhìn vào list of buttons that can be mapped (ví dụ sử dụng emulator -keyset) Tôi không nghĩ rằng phiên bản hiện tại của giả lập hỗ trợ trực tiếp Ctrl lập bản đồ quan trọng, vì vậy bạn không gặp may ở đây.

+0

Cảm ơn bạn đã trả lời! Đó là tin tốt. Tôi nghĩ rằng nên thêm tùy chọn để thay đổi phím bổ trợ để cung cấp hỗ trợ cho mọi người có bàn phím cho thiết bị Android. – RedScorpio