キーコード一覧リスト

0 0x0000 KEYCODE_UNKNOWN
1 0x0001 KEYCODE_SOFT_LEFT
2 0x0002 KEYCODE_SOFT_RIGHT
3 0x0003 KEYCODE_HOME
4 0x0004 KEYCODE_BACK
5 0x0005 KEYCODE_CALL
6 0x0006 KEYCODE_ENDCALL
7 0x0007 KEYCODE_0
8 0x0008 KEYCODE_1
9 0x0009 KEYCODE_2
10 0x000A KEYCODE_3
11 0x000B KEYCODE_4
12 0x000C KEYCODE_5
13 0x000D KEYCODE_6
14 0x000E KEYCODE_7
15 0x000F KEYCODE_8
16 0x0010 KEYCODE_9
17 0x0011 KEYCODE_STAR
18 0x0012 KEYCODE_POUND
19 0x0013 KEYCODE_DPAD_UP     // カーソル移動
20 0x0014 KEYCODE_DPAD_DOWN
21 0x0015 KEYCODE_DPAD_LEFT
22 0x0016 KEYCODE_DPAD_RIGHT
23 0x0017 KEYCODE_DPAD_CENTER
24 0x0018 KEYCODE_VOLUME_UP
25 0x0019 KEYCODE_VOLUME_DOWN
26 0x001A KEYCODE_POWER
27 0x001B KEYCODE_CAMERA
28 0x001C KEYCODE_CLEAR
29 0x001D KEYCODE_A
30 0x001E KEYCODE_B
31 0x001F KEYCODE_C
32 0x0020 KEYCODE_D
33 0x0021 KEYCODE_E
34 0x0022 KEYCODE_F
35 0x0023 KEYCODE_G
36 0x0024 KEYCODE_H
37 0x0025 KEYCODE_I
38 0x0026 KEYCODE_J
39 0x0027 KEYCODE_K
40 0x0028 KEYCODE_L
41 0x0029 KEYCODE_M
42 0x002A KEYCODE_N
43 0x002B KEYCODE_O
44 0x002C KEYCODE_P
45 0x002D KEYCODE_Q
46 0x002E KEYCODE_R
47 0x002F KEYCODE_S
48 0x0030 KEYCODE_T
49 0x0031 KEYCODE_U
50 0x0032 KEYCODE_V
51 0x0033 KEYCODE_W
52 0x0034 KEYCODE_X
53 0x0035 KEYCODE_Y
54 0x0036 KEYCODE_Z
55 0x0037 KEYCODE_COMMA
56 0x0038 KEYCODE_PERIOD
57 0x0039 KEYCODE_ALT_LEFT
58 0x003A KEYCODE_ALT_RIGHT
59 0x003B KEYCODE_SHIFT_LEFT
60 0x003C KEYCODE_SHIFT_RIGHT
61 0x003D KEYCODE_TAB
62 0x003E KEYCODE_SPACE
63 0x003F KEYCODE_SYM
64 0x0040 KEYCODE_EXPLORER
65 0x0041 KEYCODE_ENVELOPE
66 0x0042 KEYCODE_ENTER
67 0x0043 KEYCODE_DEL      // BackSpace 
68 0x0044 KEYCODE_GRAVE
69 0x0045 KEYCODE_MINUS
70 0x0046 KEYCODE_EQUALS
71 0x0047 KEYCODE_LEFT_BRACKET
72 0x0048 KEYCODE_RIGHT_BRACKET
73 0x0049 KEYCODE_BACKSLASH
74 0x004A KEYCODE_SEMICOLON
75 0x004B KEYCODE_APOSTROPHE
76 0x004C KEYCODE_SLASH
77 0x004D KEYCODE_AT
78 0x004E KEYCODE_NUM
79 0x004F KEYCODE_HEADSETHOOK
80 0x0050 KEYCODE_FOCUS
81 0x0051 KEYCODE_PLUS
82 0x0052 KEYCODE_MENU
83 0x0053 KEYCODE_NOTIFICATION
84 0x0054 KEYCODE_SEARCH
85 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
86 0x0056 KEYCODE_MEDIA_STOP
87 0x0057 KEYCODE_MEDIA_NEXT
88 0x0058 KEYCODE_MEDIA_PREVIOUS
89 0x0059 KEYCODE_MEDIA_REWIND
90 0x005A KEYCODE_MEDIA_FAST_FORWARD
91 0x005B KEYCODE_MUTE

Ctl+H を キーボードより入力する。

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    // ベントのハンドリングが完了した後ここで動作を止めるよう指示する場合は
    //  true を返却します。 
    // イベントのハンドリングをしない場合、かつ(または) そのイベントを他の
    // キーイベントリスナに引き継がせるよう指示する場合は false を返却します。 
    return true ;
}

KeyCode を 文字に変換する

char keyChar = (char)event.getUnicodeChar();

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
	char c = 0 ;
	boolean rtn = false ;

	if( event.getAction() == KeyEvent.ACTION_UP ) {
		// キーボードが Down から Up になった時は、ディフォルトの処理を行う。
		return false;
	}

	if( ! event.isPrintingKey() ) {
		// 表示できないコードはディフォルトの処理を行う。
		return false ;
	}

	char keyChar = (char)event.getUnicodeChar();


    // ログを出力
    Log.v("log", "Key ->" + keyChar );

    // ベントのハンドリングが完了した後ここで動作を止めるよう指示する場合は
    //  true を返却します。 
    // イベントのハンドリングをしない場合、かつ(または) そのイベントを他の
    // キーイベントリスナに引き継がせるよう指示する場合は false を返却します。 
    return true ;
}


public boolean onKeyDown(int keyCode, KeyEvent event);
public boolean onKeyUp(int keyCode, KeyEvent event);

onKeyメソッドは上記のonKeyDownのイベントとonKeyUpのイベントのどちらも受け取ることができる

以下のコードで区別する

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    char c = 0 ;
    boolean rtn = false ;

    if( event.getAction() == KeyEvent.ACTION_UP ) {
        return false;
    }
    if( event.getAction() == KeyEvent.ACTION_DOWN ) {
        return false;
    }
}

© 2024 Falco Tech Blog Suffusion theme by Sayontan Sinha