<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>This is an extension that builds on top of the Behavior API
      proposal (see Public Behavior API proposal thread).</p>
    <p>Summary:</p>
    <p><span style="color: rgb(31, 35, 40); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji"; font-size: 16px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        white-space: normal; background-color: rgb(255, 255, 255);
        text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">Provide an opportunity to customize
        key bindings during construction time of standard behaviors,
        without exposing the internal<span> </span></span><code style="box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px; color: rgb(31, 35, 40); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">InputMap</code><span
        style="color: rgb(31, 35, 40); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji"; font-size: 16px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        white-space: normal; background-color: rgb(255, 255, 255);
        text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">s. The API is constructed in such a
        way to not block later enhancements to allow<span> </span></span><code style="box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px; color: rgb(31, 35, 40); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">InputMap</code><span
        style="color: rgb(31, 35, 40); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji"; font-size: 16px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        white-space: normal; background-color: rgb(255, 255, 255);
        text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">s to be shared or made immutable.</span></p>
    <p><span style="color: rgb(31, 35, 40); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji"; font-size: 16px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        white-space: normal; background-color: rgb(255, 255, 255);
        text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">Goals:<br>
      </span></p>
    <ul dir="auto" style="box-sizing: border-box; padding-left: 2em;
      margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe
      UI", "Noto Sans", Helvetica, Arial, sans-serif,
      "Apple Color Emoji", "Segoe UI Emoji";
      font-size: 16px; font-style: normal; font-variant-ligatures:
      normal; font-variant-caps: normal; font-weight: 400;
      letter-spacing: normal; orphans: 2; text-align: start;
      text-indent: 0px; text-transform: none; widows: 2; word-spacing:
      0px; -webkit-text-stroke-width: 0px; white-space: normal;
      background-color: rgb(255, 255, 255); text-decoration-thickness:
      initial; text-decoration-style: initial; text-decoration-color:
      initial;">
      <li style="box-sizing: border-box;">Provide API to customize key
        bindings provided by default behaviors</li>
      <li style="box-sizing: border-box; margin-top: 0.25em;">Provide a
        public class<span> </span><code style="box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;">KeyBinding</code><span> </span>which
        is lighter weight, and immutable</li>
      <li style="box-sizing: border-box; margin-top: 0.25em;">Integrate
        with Behavior proposal</li>
      <li style="box-sizing: border-box; margin-top: 0.25em;">Keep
        internal details of<span> </span><code style="box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;">InputMap</code><span> </span>implementation
        hidden (it is too complex, and consumes far too much resources)</li>
    </ul>
    <p><span style="color: rgb(31, 35, 40); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji"; font-size: 16px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        white-space: normal; background-color: rgb(255, 255, 255);
        text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;"></span></p>
    <p><span style="color: rgb(31, 35, 40); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji"; font-size: 16px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        white-space: normal; background-color: rgb(255, 255, 255);
        text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">See the full proposal here:
        <a class="moz-txt-link-freetext" href="https://gist.github.com/hjohn/e432f17452ff13511820487e3602b847">https://gist.github.com/hjohn/e432f17452ff13511820487e3602b847</a></span></p>
    <p><span style="color: rgb(31, 35, 40); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji"; font-size: 16px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        white-space: normal; background-color: rgb(255, 255, 255);
        text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">--John<br>
      </span></p>
  </body>
</html>