ユーザーが物理キーボードを持っているかどうかを検出する最も信頼できる方法は何ですか?
アイデアは、物理的なキーボードwindow.onkeydown
がないためundefined
(の代わりにnull
)できるということです。しかし、仮想キーボードのため、そうではないと思います。私はテストしませんでした。
私の目標は、ユーザーがキーボードを持っていない場合にinput[type='number']
、オンライン タイマーをホイール ピッカーに置き換えることです。
ユーザーが物理キーボードを持っているかどうかを検出する最も信頼できる方法は何ですか?
アイデアは、物理的なキーボードwindow.onkeydown
がないためundefined
(の代わりにnull
)できるということです。しかし、仮想キーボードのため、そうではないと思います。私はテストしませんでした。
私の目標は、ユーザーがキーボードを持っていない場合にinput[type='number']
、オンライン タイマーをホイール ピッカーに置き換えることです。
私は2つのアプローチを見ています。
最初のアプローチは、すべてのマウスとキーボードのイベントをリッスンすることです。マウスを持っているユーザーは、キーボードも持っている可能性があります。Web サイトにアクセスするユーザーは、マウスを動かす可能性があります。
2 番目の方法は、ユーザー エージェントをチェックして実行中のオペレーティング システムを読み取り、Android および iOS デバイスにキーボードがないと想定することです。Windows 8 の場合、Windows 8 はタブレットとデスクトップ/ノートブックの両方で実行されるため、ユーザー エージェントがどのように役立つかわかりません。
ただし、よりエレガントなソリューションが必要です。
タッチスクリーンを検出して特別なウィジェットを表示する方が信頼性が高くなります。アクセシビリティのために、派手なウィジェットでキーボードが引き続き使用できることを確認してください。
オペレーティング システムや画面のサイズを確認することで、キーボードの種類を判断できる場合があります。Android、iOS、および画面が小さいすべてのデバイスには、物理キーボードがない傾向があります。