> But now I have a new question…
> Is there any way to get the “usual” letter for a “common” operation?
Hmm. Good question. Not that I know of.
> Again, one could create a scratch text area and grovel through its
input map, but that seems hacky.
I agree sifting through the L&F seems hacky.
I don’t think I understand exactly what you’re trying to implement here.
If you give me a more concrete example: maybe I (or someone on this
list) can offer a more concrete suggestion?
I’ll add some context in case this speaks to your question.
By default Swing gets this information in places like
BasicTextUI#getInputMap(), which calls:
InputMap shared =
(InputMap)DefaultLookup.get(editor, this,
getPropertyPrefix() + ".focusInputMap”);
The following works on my Mac & Windows machine (I think using JDK 19),
but I wouldn’t be surprised if it fails in other platforms / L&F’s. It
feels brittle, but it might (?) have potential:
private KeyStroke getCopyKeyStroke() {
InputMap inputMap = (InputMap)
UIManager.getDefaults().get("TextField.focusInputMap");
for (KeyStroke keyStroke : inputMap.keys()) {
Object action = inputMap.get(keyStroke);
if ("copy-to-clipboard".equals(action)) {
return keyStroke;
}
}
// this will show all the default keystrokes
// System.out.println(Arrays.asList(inputMap.allKeys()));
return null;
}
Regards,
- Jeremy
------ Original Message ------
From mark.yagnatin...@barclays.com
To micklen...@gmail.com; client-libs-dev@openjdk.org
Date 3/3/24, 6:00:46 PM
Subject RE: how to get find out the keyboard shortcut for the paste
action?
Thanks for the response! I didn’t expect to get one at this point J
It does indeed answer my question!
(Though you didn’t quite get the name right: there’s no Ex at the end…
I take it you’ve done some Windows programming at some point)
But now I have a new question…
Is there any way to get the “usual” letter for a “common” operation?
For instance, lots of programs support copy and paste.
Is there a way to ask Java “what is the standard letter for paste” and
get back “V”?
Again, one could create a scratch text area and grovel through its
input map, but that seems hacky.
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:
https://www.ib.barclays/disclosures/web-and-email-disclaimer.html.
For important disclosures, please see:
https://www.ib.barclays/disclosures/sales-and-trading-disclaimer.html
regarding marketing commentary from Barclays Sales and/or Trading
desks, who are active market participants;
https://www.ib.barclays/disclosures/barclays-global-markets-disclosures.html
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:
http://publicresearch.barclays.com.
__________________________________________________________________________________
If you are incorporated or operating in Australia, read these important
disclosures:
https://www.ib.barclays/disclosures/important-disclosures-asia-pacific.html.
__________________________________________________________________________________
For more details about how we use personal information, see our privacy
notice:
https://www.ib.barclays/disclosures/personal-information-use.html.
__________________________________________________________________________________