Open decodism opened 1 week ago
Hi @decodism,
Thank you for sharing this work.
Adding the function key was discussed in the past. In end, I concluded that opening that door would create support situation that would not be worth. Have you seen this thread perhaps?
It's pretty cool that you managed to implement that! I need to test it to see how it behaves.
As I mentioned above, I'm not sure it's worth to add this feature. It would probably be of niche use, and open the door to all sorts of exotic bugs and behaviors.
What do you think?
Thank you 🙇
I played around with the PR. Here's some feedback, in addition to my reserves above about opening that door:
F
may be a bit confusing. Perhaps some fn
in small letters would be clearer. It's a consistent wording on the physical keyboardsfn
then the f-keys appeared, and I pressed F1. I see in the debugger that in ControlsTabs.swift, line 194,Shortcut(keyEquivalent: newValue)
was nil
. newValue
was equal to "⌥FF1"
. It raises the question: how should the fn
key interact with f-keys like F1. Should pressing fn
then F1
count as F1 only, or as modifier fn
+ F1
key?Thank you
Hello,
I'm not sure what issues this addition might bring. I've made some changes following your feedback:
F
with fn
, which has the side effect of fixing the crash with F* keys.Hi @decodism,
Thank you for the updates!
Regarding my concerns:
As you've said, it's not supported by Carbon. This means it's exotic and other apps supporting it will be few. Users probably are not used to it or expecting it to work, or the nuances which go with it. For instance, the cases with fn+F1 I've shared previously, or the fact that Apple own UI in System Settings is broken currently when assigning shortcuts with fn
The fn
key is used together with the globe key. I think this also adds lots of confusion to supporting this feature. For instance, my setup is an external Logitech K380 keyboard, and a 2022 macbook pro. Here's how they physically look like:
Logitech K380 | 2022 macbook pro |
---|---|
Notice how the System Settings mention the fn
key for the external keyboard, and the globe
key for the internal keyboard. Even though both keys features the fn
marking on it:
Logitech K380 | 2022 macbook pro |
---|---|
I can set fn
using the internal keyboard, with your PR, but I can't set fn
with the external keyboard. There must be an implementation difference. Maybe you catch the globe
key code instead of fn
.
Do you see what I mean by adding complexity and exotic use-case if we merge this?
What do you think?
Thank you
It's a bit hacky as Carbon doesn't support it.