よくある質問(FAQ)

RS35のハードウェアキー操作をアプリケーションで検知できますか?

下記に参考のソースコードを記載します。
Activityクラスに、ボタンを押した場合(onKeyDown)、離した場合(onKeyUp)の処理を記載することで検知可能です。

▼例

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch (keyCode) {
            case 507 :
                // 左スキャンを押した場合の処理を記載します
                return true;

            case 508 :
                // 右スキャンを押した場合の処理を記載します
                return true;

            case 549 :
                // FNを押した場合の処理を記載します
                return true;

            default:
                // 指定キー以外を押した場合の処理を記載します
                return super.onKeyUp(keyCode, event);

        }
    }

    @Override
    public boolean (int keyCode, KeyEvent event) {
        switch (keyCode) {
            case 507 :
                // 左スキャンを離した場合の処理を記載します
                return true;
            case 508 :
                // 右スキャンを離した場合の処理を記載します
                return true;
            case 549 :
                // FNを離した場合の処理を記載します
                return true;
            default:
                // 指定キー以外を離した場合の処理を記載します
                return super.onKeyUp(keyCode, event);

        }
    }
}