lwouis / alt-tab-macos

Windows alt-tab on macOS
https://alt-tab-macos.netlify.app
GNU General Public License v3.0
10.2k stars 316 forks source link

feat: add function key modifier #3470

Open decodism opened 1 week ago

decodism commented 1 week ago

It's a bit hacky as Carbon doesn't support it.

lwouis commented 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 🙇

lwouis commented 1 week ago

I played around with the PR. Here's some feedback, in addition to my reserves above about opening that door:

Thank you

decodism commented 1 week ago

Hello,

I'm not sure what issues this addition might bring. I've made some changes following your feedback:

lwouis commented 6 days ago

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
IMG_2324 Large IMG_2323 Large

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
image image

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