chromium/native_client_sdk/src/examples/api/mouse_lock/index.html

<!DOCTYPE html>
<html>
<!--
Copyright 2012 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<head>
  <meta http-equiv="Pragma" content="no-cache">
  <meta http-equiv="Expires" content="-1">
  <title>{{title}}</title>
  <script type="text/javascript" src="common.js"></script>
</head>
<body data-width="300" data-height="300" {{attrs}}>
  <h1>{{title}}</h1>
  <h2>Status: <code id="statusField">NO-STATUS</code></h2>
  <ul>
    <li>There are two different kinds of fullscreen mode: "tab fullscreen" and
        "browser fullscreen".
      <ul>
        <li>Tab fullscreen refers to when a tab enters fullscreen mode via the
            JS or Pepper fullscreen API.  The NaCl Module will enter or
            exit fullscreen when it has focus and the enter key is pressed.</li>
        <li>Browser fullscreen refers to the user putting the browser itself
            into fullscreen mode from the UI (e.g., pressing F11).</li>
      </ul>
    </li>
    <li>Lock mouse:
      <ul>
        <li>Mouse Lock refers to removing the standard mouse cursor, and
            sending mouse messages to the module even when the cursor is outside
            of the module's bounding box.  The NaCl module will enter or exit
            mouse lock by clicking on the grey box representing the bounding
            area of the module.
      </ul>
    </li>
    <li>Involuntary fullscreen or mouselock loss.
      <ul>
        <li>Pressing the Esc key will cause the browser to revoke mouselock
            or tab fullscreen privilege.</li>
        <li>When in browser fullscreen, pressing F11 will also revoke mouselock
            or tab fullscreen privilege.</li>
      </ul>
    </li>
  </ul>
  <p> Move the mouse cursor over the grey box to watch the captured mouse
      movement.   Notice that messages are normally not captured when the cursor
      is outside of the grey box.</p>
  <p> By clicking on the grey box, we set focus and turn on mouse lock.  Now all
      mouse messages are sent to the module.</p>
  <p> This behavior is maintained even in tab and/or browser fullscreen.</p>
  <!-- The NaCl plugin will be embedded inside the element with id "listener".
      See common.js.-->
  <div id="listener"></div>
</body>
</html>