how to get find out the keyboard shortcut for the paste action?
Jeremy Wood
mickleness at gmail.com
Mon Mar 4 04:30:23 UTC 2024
> 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.yagnatinsky at barclays.com
To mickleness at gmail.com; client-libs-dev at 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.
>__________________________________________________________________________________
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/client-libs-dev/attachments/20240304/5c178df6/attachment.htm>
More information about the client-libs-dev
mailing list