<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Turns out that is standardized:<o:p></o:p></p>
<p class="MsoNormal"><a href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#javax.swing.text.DefaultEditorKit.cutAction">https://docs.oracle.com/javase/8/docs/api/constant-values.html#javax.swing.text.DefaultEditorKit.cutAction</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Jeremy Wood <mickleness@gmail.com> <br>
<b>Sent:</b> Friday, March 8, 2024 6:40 PM<br>
<b>To:</b> Yagnatinsky, Mark : Markets Pre Trade <mark.yagnatinsky@barclays.com>; alexey.ivanov@oracle.com; client-libs-dev@openjdk.org<br>
<b>Subject:</b> Re[2]: how to get find out the keyboard shortcut for the paste action?<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif;color:red">CAUTION: This email originated from outside our organisation -
<a href="mailto:mickleness@gmail.com">mickleness@gmail.com</a> Do not click on links, open attachments, or respond unless you recognize the sender and can validate the content is safe.</span><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Alexey,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">> Does the input map of JTextArea contain shortcuts for Cut, Copy and Paste?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">When I call (on my Mac, using openJDK 17)<o:p></o:p></span></p>
</div>
<div>
<pre>UIManager<span style="color:#080808">.<i>getDefaults</i>().get(</span><span style="color:#067D17">"TextArea.focusInputMap”</span><span style="color:#080808">)</span><o:p></o:p></pre>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">… I get an InputMap with: “copy-to-clipboard”, “cut-to-clipboard”, and “paste-from-clipboard”.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">The code I tested against is:<o:p></o:p></span></p>
</div>
<div>
<div>
<pre><span style="color:black">InputMap inputMap </span><span style="color:#080808">= (</span><span style="color:black">InputMap</span><span style="color:#080808">) </span><span style="color:black">UIManager</span><span style="color:#080808">.getDefaults().get(</span><span style="color:#067D17">"TextArea.focusInputMap"</span><span style="color:#080808">);<br></span><span style="color:black">Map</span><span style="color:#080808"><</span><span style="color:black">Object</span><span style="color:#080808">, </span><span style="color:black">Collection</span><span style="color:#080808"><</span><span style="color:black">KeyStroke</span><span style="color:#080808">>> </span><span style="color:black">map </span><span style="color:#080808">= </span><span style="color:#0033B3">new </span><span style="color:#080808">TreeMap<>();<br></span><span style="color:#0033B3">for </span><span style="color:#080808">(</span><span style="color:black">KeyStroke keyStroke </span><span style="color:#080808">: </span><span style="color:black">inputMap</span><span style="color:#080808">.keys()) {<br>    </span><span style="color:black">Object key </span><span style="color:#080808">= </span><span style="color:black">inputMap</span><span style="color:#080808">.get(</span><span style="color:black">keyStroke</span><span style="color:#080808">);<br>    </span><span style="color:black">Collection value </span><span style="color:#080808">= </span><span style="color:black">map</span><span style="color:#080808">.get(</span><span style="color:black">key</span><span style="color:#080808">);<br>    </span><span style="color:#0033B3">if </span><span style="color:#080808">(</span><span style="color:black">value </span><span style="color:#080808">== </span><span style="color:#0033B3">null</span><span style="color:#080808">) {<br>        </span><span style="color:black">value </span><span style="color:#080808">= </span><span style="color:#0033B3">new </span><span style="color:#080808">HashSet();<br>        </span><span style="color:black">map</span><span style="color:#080808">.put(</span><span style="color:black">key</span><span style="color:#080808">, </span><span style="color:black">value</span><span style="color:#080808">);<br>    }<br>    </span><span style="color:black">value</span><span style="color:#080808">.add(</span><span style="color:black">keyStroke</span><span style="color:#080808">);<br>}<br></span><span style="color:#0033B3">for </span><span style="color:#080808">(</span><span style="color:black">Map</span><span style="color:#080808">.</span><span style="color:black">Entry</span><span style="color:#080808"><</span><span style="color:black">Object</span><span style="color:#080808">, </span><span style="color:black">Collection</span><span style="color:#080808"><</span><span style="color:black">KeyStroke</span><span style="color:#080808">>> </span><span style="color:black">e </span><span style="color:#080808">: </span><span style="color:black">map</span><span style="color:#080808">.entrySet()) {<br>    </span><span style="color:black">System</span><span style="color:#080808">.</span><i><span style="color:#871094">out</span></i><span style="color:#080808">.println(</span><span style="color:black">e</span><span style="color:#080808">);<br>}<o:p></o:p></span></pre>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Previous tests showed the same naming convention on Windows for JTextFields; I don’t know how standardized that naming convention is across all platforms / L&F’s.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> - Jeremy<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">------ Original Message ------<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">From
<a href="mailto:mark.yagnatinsky@barclays.com">mark.yagnatinsky@barclays.com</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">To
<a href="mailto:alexey.ivanov@oracle.com">alexey.ivanov@oracle.com</a>; <a href="mailto:mickleness@gmail.com">
mickleness@gmail.com</a>; <a href="mailto:client-libs-dev@openjdk.org">client-libs-dev@openjdk.org</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Date 3/5/24, 11:48:48 AM<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Subject RE: how to get find out the keyboard shortcut for the paste action?<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div id="xde80e52221b84de">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 8.0pt;margin-left:3.75pt;margin-top:2.25pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Thanks, this was educational. I never even thought about how localization might affect all this.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">-----Original Message-----<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">From: Aleksei Ivanov <<a href="mailto:alexey.ivanov@oracle.com">alexey.ivanov@oracle.com</a>><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Sent: Tuesday, March 5, 2024 10:41 AM<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">To: Yagnatinsky, Mark : Markets Pre Trade <<a href="mailto:mark.yagnatinsky@barclays.com">mark.yagnatinsky@barclays.com</a>>;
<a href="mailto:mickleness@gmail.com">mickleness@gmail.com</a>; <a href="mailto:client-libs-dev@openjdk.org">
client-libs-dev@openjdk.org</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Subject: Re: how to get find out the keyboard shortcut for the paste action?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">CAUTION: This email originated from outside our organisation -
<a href="mailto:alexey.ivanov@oracle.com">alexey.ivanov@oracle.com</a> Do not click on links, open attachments, or respond unless you recognize the sender and can validate the content is safe.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Hello Mark,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">As far as I know, the shortcuts are localisable. For example, you use<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Ctrl+S to save a file in an English version, yet users of Spanish<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">version of Windows use Ctrl+G (for Guardar) instead.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">At the same time, the most common actions — Cut, Copy and Paste as well as Undo and Redo — usually have the same shortcuts across all languages and OS, although macOS uses
 Cmd instead of Ctrl. However, the shortcut for Redo is not as standard, Ctrl+Shift+Z and Ctrl+Y are used, both could be mapped at the same time.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">I wonder what is the shortcut for Undo in German versions since German keyboard layout has Z and Y keys swapped. Does anyone know?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">So, the shortcuts used in an application are controlled by the application and the shortcuts can be localised.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">For this reason, the shortcuts are usually “hardcoded”.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">@Jeremy<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Does the input map of JTextArea contain shortcuts for Cut, Copy and Paste?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">On 2024-03-04 20:42,
<a href="mailto:mark.yagnatinsky@barclays.com">mark.yagnatinsky@barclays.com</a> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 8.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Thanks!  I don’t have a particularly deep motivation here, other than<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">curiosity.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">If you’re wondering how my curiosity got piqued initially, it was<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">something like this:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">A while ago, someone at work was adding copy/paste support to some<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">component that didn’t have it.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">I noticed that they “hardcoded” the shortcut “ctrl C”.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">And I thought to myself:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Swing already “knows” that this is the right keyboard shortcut, in the<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">sense that all components that support copy/paste “out of the box” use it.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">It would be nice if there was some way to ASK it to tell me what it<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">“knows”.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">*From:* Jeremy Wood <<a href="mailto:mickleness@gmail.com">mickleness@gmail.com</a>><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">*Sent:* Sunday, March 3, 2024 11:30 PM<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">*To:* Yagnatinsky, Mark : Markets Pre Trade<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><<a href="mailto:mark.yagnatinsky@barclays.com">mark.yagnatinsky@barclays.com</a>>;
<a href="mailto:client-libs-dev@openjdk.org">client-libs-dev@openjdk.org</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">*Subject:* Re[2]: how to get find out the keyboard shortcut for the<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">paste action?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">CAUTION: This email originated from outside our organisation -<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><a href="mailto:mickleness@gmail.com">mickleness@gmail.com</a> Do not click on links, open attachments, or<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">respond unless you recognize the sender and can validate the content<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">is safe.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">> But now I have a new question…<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">> Is there any way to get the “usual” letter for a “common” operation?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Hmm. Good question. Not that I know of.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">> Again, one could create a scratch text area and grovel through its<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">input map, but that seems hacky.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">I agree sifting through the L&F seems hacky.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">I don’t think I understand exactly what you’re trying to implement<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">here. If you give me a more concrete example: maybe I (or someone on<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">this list) can offer a more concrete suggestion?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">I’ll add some context in case this speaks to your question.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">By default Swing gets this information in places like<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">BasicTextUI#getInputMap(), which calls:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">InputMap shared=     (InputMap)DefaultLookup./get/(editor, this,    <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">getPropertyPrefix() + ".focusInputMap”);<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">The following works on my Mac & Windows machine (I think using JDK<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">19), but I wouldn’t be surprised if it fails in other platforms /<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">L&F’s. It feels brittle, but it might (?) have potential:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">private KeyStroke getCopyKeyStroke() {<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">InputMap inputMap = (InputMap)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">UIManager.getDefaults().get("TextField.focusInputMap"); for (KeyStroke<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">keyStroke : inputMap.keys()) { Object action =<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">inputMap.get(keyStroke); if ("copy-to-clipboard".equals(action)) {<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">return keyStroke;         }     } /// this will show all the default<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">keystrokes // System.out.println(Arrays.asList(inputMap.allKeys()));<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">/return null; }<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Regards,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> - Jeremy<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">------ Original Message ------<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">From
<a href="mailto:mark.yagnatinsky@barclays.com">mark.yagnatinsky@barclays.com</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">To
<a href="mailto:mickleness@gmail.com">mickleness@gmail.com</a>; <a href="mailto:client-libs-dev@openjdk.org">
client-libs-dev@openjdk.org</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Date 3/3/24, 6:00:46 PM<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Subject RE: how to get find out the keyboard shortcut for the paste<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">action?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Thanks for the response!  I didn’t expect to get one at this point<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">J<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">It does indeed answer my question!<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">(Though you didn’t quite get the name right: there’s no Ex at the<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">end…<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">I take it you’ve done some Windows programming at some point)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">But now I have a new question…<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Is there any way to get the “usual” letter for a “common” operation?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">For instance, lots of programs support copy and paste.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Is there a way to ask Java “what is the standard letter for paste”<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">and get back “V”?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Again, one could create a scratch text area and grovel through its<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">input map, but that seems hacky.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">--<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Regards,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">Alexey<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">This message is for information purposes only. It is not a recommendation, advice, offer or solicitation to buy or sell a product or service, nor an official confirmation
 of any transaction. It is directed at persons who are professionals and is intended for the recipient(s) only. It is not directed at retail customers. This message is subject to the terms at:
<a href="https://clicktime.symantec.com/15t5z4nzQ9mVyiYmXLJWp?h=rugiybCsNVrtvlgv0oiWK531TT-aEC8cdJoNgo0eicA=&u=https://www.ib.barclays/disclosures/web-and-email-disclaimer.html">
https://www.ib.barclays/disclosures/web-and-email-disclaimer.html</a>.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">For important disclosures, please see:
<a href="https://clicktime.symantec.com/15t5uEbhwY5uZmiqymuNC?h=UUYilPcbuojDIsLAzJWyu0nJlLCHoCyghR5_RMssH0o=&u=https://www.ib.barclays/disclosures/sales-and-trading-disclaimer.html">
https://www.ib.barclays/disclosures/sales-and-trading-disclaimer.html</a> regarding marketing commentary from Barclays Sales and/or Trading desks, who are active market participants;
<a href="https://clicktime.symantec.com/15t5ek1rZh38KwF5M6hvL?h=ZDyeQZN-V_95O-lzOTIVWhfaptDBYTvgrAhbCC9UfZU=&u=https://www.ib.barclays/disclosures/barclays-global-markets-disclosures.html">
https://www.ib.barclays/disclosures/barclays-global-markets-disclosures.html</a> regarding our standard terms for Barclays Investment Bank where we trade with you in principal-to-principal wholesale markets transactions; and in respect to Barclays Research,
 including disclosures relating to specific issuers, see: <a href="https://clicktime.symantec.com/15t5Zupa75MXuzR9oYJmi?h=7tVYpwZrUz-9ooO1JlNnWU655b7rnLE_E-tzFWQJPF0=&u=http://publicresearch.barclays.com">
http://publicresearch.barclays.com</a>.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">__________________________________________________________________________________<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">If you are incorporated or operating in Australia, read these important disclosures:
<a href="https://clicktime.symantec.com/15t5jaD92Jiijt4ztf74x?h=cZIWzy3Q9k2MTdJ-Z3X5bD8POR6nFxCfEHP3mI43Buo=&u=https://www.ib.barclays/disclosures/important-disclosures-asia-pacific.html">
https://www.ib.barclays/disclosures/important-disclosures-asia-pacific.html</a>.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">__________________________________________________________________________________<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">For more details about how we use personal information, see our privacy notice:
<a href="https://clicktime.symantec.com/15t5pQQRUvQK9ptvSDWDa?h=7L8jQPnb4feGYIXIkHVU8obgMQC0JaTkbrYiRZ3xZBo=&u=https://www.ib.barclays/disclosures/personal-information-use.html">
https://www.ib.barclays/disclosures/personal-information-use.html</a>.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">__________________________________________________________________________________<o:p></o:p></span></p>
</div>
</blockquote>
</div>
</div>

<P><SPAN lang=EN-US style="mso-ansi-language: EN-US">This message is for 
information purposes only. It is not a recommendation, advice, offer or 
solicitation to buy or sell a product or service, nor an official confirmation 
of any transaction. It is directed at persons who are professionals and is 
intended for the recipient(s) only. It is not directed at retail customers. This 
message is subject to the terms at: <A 
href="https://www.ib.barclays/disclosures/web-and-email-disclaimer.html">https://www.ib.barclays/disclosures/web-and-email-disclaimer.html</A>. 
</SPAN></P>
<P><SPAN lang=EN-US style="mso-ansi-language: EN-US">For important disclosures, 
please see: <A 
href="https://www.ib.barclays/disclosures/sales-and-trading-disclaimer.html">https://www.ib.barclays/disclosures/sales-and-trading-disclaimer.html</A> 
regarding marketing commentary from Barclays Sales and/or Trading desks, who are 
active market participants; <A 
href="https://www.ib.barclays/disclosures/barclays-global-markets-disclosures.html">https://www.ib.barclays/disclosures/barclays-global-markets-disclosures.html</A> 
regarding our standard terms for Barclays Investment Bank where we trade with 
you in principal-to-principal wholesale markets transactions; and in respect to 
Barclays Research, including disclosures relating to specific issuers, see: <A 
href="http://publicresearch.barclays.com">http://publicresearch.barclays.com</A>.<BR>__________________________________________________________________________________ 
<BR>If you are incorporated or operating in Australia, read these important 
disclosures: <A 
href="https://www.ib.barclays/disclosures/important-disclosures-asia-pacific.html">https://www.ib.barclays/disclosures/important-disclosures-asia-pacific.html</A>.<BR>__________________________________________________________________________________<BR>For 
more details about how we use personal information, see our privacy notice: <A 
href="https://www.ib.barclays/disclosures/personal-information-use.html">https://www.ib.barclays/disclosures/personal-information-use.html</A>. 
<BR>__________________________________________________________________________________<BR></O:P></SPAN></P>
</body>
</html>