【調査】Chromeのkioskモード

Chromeを起動時に全画面表示する方法です。通常必要となる機能ではありませんが、Webアプリケーション作成時に必要となったので調査しました。

kioskモードとは

Chromeには、起動時のオプションとしてkioskモードがあります。このオプションを使用する事で、起動時に全画面表示(フルスクリーン)することができます。

起動オプションの設定方法と種類は下記のサイトにて記述されています。

http://chrome.half-moon.org/43.html#u1525a8d

kioskモードによる制約

kioskモードを使用する事で、起動時全画面表示が可能となりますが、通常使用できる機能が使用できなくなる事があります。

その一つにF11キーの無効化があります。

F11キーには通常全画面表とその解除機能が割り当てられています。

F11キーの機能を残したい場合、もしくは別の機能を割り当てたい場合これは大きな制約となります。

解決方法

試しにJavaScriptでキーの割当てみます。


document.onkeydown = keyevent();

function keyevent()

{

if (event.keyCode == 122) {

console.log("F11キーが押されました!");

}

この方法では、イベントを受け取る事ができず、メッセージは表示されません。

散々足止めを食らいましたが、下記サイトにて解決方法が書いてありました。

Stack Overflow : http://stackoverflow.com/questions/17570846/f11-in-kiosk-mode-in-google-chrome

海外版の知恵袋的なサイトのようです。

このサイトによると、Chromeでは、Key Downによるイベントのみ無効化されるので、Key Upを使えばイベントを取得できるとの事でした。

Key Downはキーが押し下げられた時のイベントを取得し、Key Upでは、キーを押した後、離されたときにイベントを取得します。

ですので、先ほどのコードを以下のように書き直せば動くはずです。


document.onkeyup = keyevent();

function keyevent()

{

if (event.keyCode == 122) {

  console.log("F11キーが押されました!");

}

今回は単純にkeydownではなくkeyUpに処理を割り当てれることで解決できました。日本語のサイトだけだとどうしても情報量が少なく、解決できない事がありますが、海外のサイトまで広げると多くの情報を得る事ができそうです。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>