💾 Archived View for bbs.geminispace.org › u › Morgan › 16615 captured on 2024-05-26 at 16:57:02. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-05-12)

➡️ Next capture (2024-06-16)

🚧 View Differences

-=-=-=-=-=-=-

Comment by ☕️ Morgan

Re: "How to provide configurable keyboard shortcuts to users of..."

In: s/programming

This gets really hard when you consider multiple keyboard layouts, I suggest looking for prior art, e.g.

https://wiki.archlinux.org/title/xmodmap

☕️ Morgan

May 06 · 3 weeks ago

2 Later Comments ↓

🦀 jeang3nie · May 06 at 14:06:

As Morgan said, this gets complicated when you take into account different keyboard layouts (and you definitely shouldn't ignore this). For that reason I would suggest looking at whether the toolkit you are using has already solved the problem, assuming you're using a toolkit and not basically writing your own like Skyjake did. I know gtk+ can capture key presses and translate the codes into the appropriate symbol for you, based on the key map. I've used that facility.

🛰️ lufte [OP] · May 06 at 14:37:

I am using a toolkit and, since the last version, it provides a great level of abstraction over this. I get to choose between the hardware keycode, the virtual keycode (after layouts and re-mappings), and the actual character being written by the key press (if any). I'm mostly conviced of choosing the latter, when available, but I'm still unsure about the modifier. If ':' can only be produced by pressing Shift, should the "Shift+:" and ":" bindings both work or only the first one?

Original Post

🌒 s/programming

How to provide configurable keyboard shortcuts to users of my application? — I'm writing a desktop app that provides configurable keyboard shortcuts. For now these are set up by writing key sequences to a file. Of course, something that sounds straightforward stops being so as soon as you get past the surface. I am now trying to figure out what's more "intuitive" (if such thing even exists) when you're trying to serialize a sequence of keystrokes to text. For example, let's say you have a US...

💬 lufte · 4 comments · May 05 · 3 weeks ago