<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>24044</bug_id>
          
          <creation_ts>2013-12-10 08:48:57 +0000</creation_ts>
          <short_desc>How do browsers decide combining character from non-combining character at computing .key value of dead key?</short_desc>
          <delta_ts>2014-05-07 23:58:16 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebAppsWG</product>
          <component>HISTORICAL - DOM3 Events</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Masayuki Nakano">masayuki</reporter>
          <assigned_to name="Travis Leithead [MSFT]">travil</assigned_to>
          <cc>garykac</cc>
    
    <cc>mike</cc>
    
    <cc>travil</cc>
    
    <cc>www-dom</cc>
          
          <qa_contact>public-webapps-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>97378</commentid>
    <comment_count>0</comment_count>
    <who name="Masayuki Nakano">masayuki</who>
    <bug_when>2013-12-10 08:48:57 +0000</bug_when>
    <thetext>At least on Windows and Android, dead key event produces non-combining character for browsers. On the other hand, current D3E spec requires browsers setting combining character for dead key event.

For consistency behavior between browsers and all keyboard layouts on all platforms, browsers need to use same map from non-combining character to combining character at computing dead key event&apos;s .key value. However, perhaps, nobody can list-up all dead characters all over the world. Therefore, browsers may fail to convert non-combining character if it&apos;s not major language&apos;s.

I&apos;m thinking that the simplest solution of .key value of dead key event should be non-combining character. And for web apps, adding a bool attribute such as KeyboardEvent.isDeadKey may be useful.

Any suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97439</commentid>
    <comment_count>1</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2013-12-11 01:26:28 +0000</bug_when>
    <thetext>What is the non-combining character that the OS provides to browsers? 

We could alternatively have the .key value be &quot;DeadKey&quot; for any dead key... might simplify things.

We also have to decide what compositionupdate.data will be during the dead key sequence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97440</commentid>
    <comment_count>2</comment_count>
    <who name="Masayuki Nakano">masayuki</who>
    <bug_when>2013-12-11 01:28:13 +0000</bug_when>
    <thetext>[10:19] &lt;Travis&gt; Is there a general &quot;combining&quot; key value?
[10:19] &lt;Travis&gt; I suppose we could invent one.
[10:20] &lt;Travis&gt; ... event.key == &quot;DeadKey&quot;
[10:20] &lt;Travis&gt; ... is almost as useful as event.isDeadKey
[10:21] &lt;Travis&gt; But, the compositionupdate event would still need to carry the combining key value in its data attribute, right?
[10:21] &lt;masayuki&gt; Hmm, yes.
[10:23] &lt;masayuki&gt; I feel strange native platforms give non-combining character, prehaps for displaying the character, but why web apps need combining character?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105067</commentid>
    <comment_count>3</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2014-05-05 20:03:47 +0000</bug_when>
    <thetext>&gt; Regarding bug 24044: https://www.w3.org/Bugs/Public/show_bug.cgi?id=24044
&gt; 
&gt; I think the solution is to add the key value &quot;DeadKey&quot; correct?
&gt; 
&gt; &lt;masayuki&gt; A dead key process causes a set of composition events. So, web
&gt; apps can get the inputting value of dead key sequence even if .key value
&gt; is &quot;DeadKey&quot;.
&gt; 
&gt; Right. Through the &quot;data&quot; value of the compositionevent objects.
&gt; 
&gt; &lt;masayuki&gt; Therefore, I think that &quot;DeadKey&quot; is simple solution for the issue.
&gt; 
&gt; Me too.
&gt; 
&gt; &lt;masayuki&gt; It&apos;s hard to define a mapping table for combining characters &lt;-&gt;
&gt; non-combining character...


http://www.w3.org/2014/04/30-webapps-minutes.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105140</commentid>
    <comment_count>4</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2014-05-06 00:38:37 +0000</bug_when>
    <thetext>First attempt at a fix in changelist: https://dvcs.w3.org/hg/dom3events/rev/662bf4d9897a

Re-worked some sections of the prose to more accurately reflect what changes we are making regarding dead keys and the firing of composition events (we had already decided on this, but the spec text was inconsistent, and so I fixed those cases when scanning for occurrences of &quot;dead keys&quot;.

I also added &quot;Dead Key&quot; to the key tables in the key values spec in the IME/Composition section (seemed most appropriate).

Please review the example event sequences and make sure it&apos;s correct and that I didn&apos;t miss anything.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105269</commentid>
    <comment_count>5</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2014-05-07 00:43:38 +0000</bug_when>
    <thetext>After Telco discussion, the key needs to drop the &quot;Key&quot; suffix and become simply &quot;Dead&quot;. Works for me...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105377</commentid>
    <comment_count>6</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2014-05-07 23:58:16 +0000</bug_when>
    <thetext>I&apos;ve now updated &quot;DeadKey&quot; to simply &quot;Dead&quot;. It&apos;s dead Jim.

https://dvcs.w3.org/hg/dom3events/rev/7216e27ddf14</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>