キーボード ショートカット ヘルパー

Keyboard Shortcuts Helper により、ユーザーは、 プラットフォームとオープンアプリです。キーボード ショートカット ヘルパーでアプリのショートカットを公開する ユーザーの生産性と使いやすさを向上させています

ユーザーが Meta+/ キーを押すと、キーボード ショートカットの画面が開きます。 Android 7.0(API レベル 24)以降で利用できます。

システム ショートカットを表示するデバイスでアプリを開いた。
図 1. キーボード ショートカット ヘルパー。
で確認できます。

キーボード ショートカット ヘルパーへのショートカットを提供する

キーボード ショートカット リストを使用して、 キーボード ショートカット ヘルパーを onProvideKeyboardShortcuts() ウィンドウ コールバック。 次のスニペットは、 onProvideKeyboardShortcuts()すると、次の 4 つのショートカットのグループを追加できます。

class MainActivity : ComponentActivity() {
   
// Activity codes such as overridden onStart method.

   
override fun onProvideKeyboardShortcuts(
        data
: MutableList<KeyboardShortcutGroup>?,
        menu
: Menu?,
        deviceId
: Int
   
) {
        val shortcutGroup
= KeyboardShortcutGroup(
           
"Cursor movement",
            listOf
(
               
KeyboardShortcutInfo("Up", KeyEvent.KEYCODE_P, KeyEvent.META_CTRL_ON),
               
KeyboardShortcutInfo("Down", KeyEvent.KEYCODE_N, KeyEvent.META_CTRL_ON),
               
KeyboardShortcutInfo("Forward", KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON),
               
KeyboardShortcutInfo("Backward", KeyEvent.KEYCODE_B, KeyEvent.META_CTRL_ON),
           
)
       
)
        data
?.add(shortcutGroup)
   
}
}

KeyboardShortcutInfo はキーボード ショートカットを表します。 キーボード ショートカットのリストは、 KeyboardShortcutGroup オブジェクト。 アプリがキーボード ショートカット ヘルパーを追加して、利用可能なキーボード ショートカットを通知します。 渡された変更可能なリストに KeyboardShortcutGroup オブジェクト メソッドの最初のパラメータとして渡します。

キーボード ショートカットをグループにまとめる

キーボード ショートカットヘルパー: キーボード ショートカットをグループ別に表示します ユースケースごとやデバイスの画面に適した 説明します。図 2 は、キーボード ショートカットを示しています。 カーソルの移動とメッセージの編集という 2 つのグループに分類されます。

ショートカット グループを表示するデバイスでアプリを開いています。
図 2. キーボード ショートカット ヘルパーのカテゴリ。

アプリでは、キーボード ショートカットを作成して、キーボード ショートカットの 各グループの KeyboardShortcutGroup オブジェクト。 次のスニペットでは、2 つの KeyboardShortCutGroup オブジェクトが onProvideKeyboardShortcuts() メソッドに渡される可変リスト。 オブジェクトは、キーボード ショートカット ヘルパーにカテゴリとして表示されます。 図 2 に示します。

override fun onProvideKeyboardShortcuts(
    data
: MutableList<KeyboardShortcutGroup>?,
    menu
: Menu?,
    deviceId
: Int
) {
    val cursorMovement
= KeyboardShortcutGroup(
       
"Cursor movement",
        listOf
(
           
KeyboardShortcutInfo("Up", KeyEvent.KEYCODE_P, KeyEvent.META_CTRL_ON),
           
KeyboardShortcutInfo("Down", KeyEvent.KEYCODE_N, KeyEvent.META_CTRL_ON),
           
KeyboardShortcutInfo("Forward", KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON),
           
KeyboardShortcutInfo("Backward", KeyEvent.KEYCODE_B, KeyEvent.META_CTRL_ON),
       
)
   
)

    val messageEdit
= KeyboardShortcutGroup(
       
"Message editing",
        listOf
(
           
KeyboardShortcutInfo("Select All", KeyEvent.KEYCODE_A, KeyEvent.META_CTRL_ON),
           
KeyboardShortcutInfo("Send a message", KeyEvent.KEYCODE_ENTER, KeyEvent.META_SHIFT_ON)
       
)
   
)

    data
?.add(cursorMovement)
    data
?.add(messageEdit)
}

コードからキーボード ショートカット ヘルパーを開く

アプリはキーボード ショートカット画面を requestShowKeyboardShortcuts() の呼び出し メソッドを呼び出します。次のスニペットでは、ユーザーが ボタンをクリックするか、Enter キーを押します。

val activity = LocalContext.current as Activity

Button(onClick = { activity.requestShowKeyboardShortcuts() }) {
   
Text(text = "Show keyboard shortcuts")
}