Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/serpentiel/betterglobekey

Make macOS Globe key great again!
https://github.com/serpentiel/betterglobekey

enhancement go macos utility ux

Last synced: about 16 hours ago
JSON representation

Make macOS Globe key great again!

Awesome Lists containing this project

README

        



Contributors


Forks


Stars


Issues


License






Logo

betterglobekey


Make macOS Globe key great again!







Ask a Question
•
Report a Bug
•
Request a Feature


Table of Contents

## About the Project

macOS features a brilliant idea for the way to switch your keyboard's input source—the Globe key. While the idea is
brilliant in design, in practice, however, the key is coded in a very intrusive and impractical way, which might
prevent some users—especially those who tend to switch their input source often—from enjoying their overall user
experience.

This utility completely reworks the way the Globe key functions and provides users with an improved overall user
experience, and I sincerely hope that one day Apple is going to make it this way out-of-box.

(back to top)

## Getting Started

The utility enhances the functionality of the Globe key by introducing two distinct modes of operation and starting
from the currently active input source:

1. **Single Press Mode**

Single press mode is activated when the Globe key is pressed once.

In this mode, the utility cycles through a collection of input sources. Each press of the Globe key switches to the
next input source within the current collection.

The collections of input sources are defined in the configuration under `input_sources`. Each key-value pair within
this map represents a named collection of input sources. For example:

```yaml
input_sources:
foo:
- com.apple.keylayout.US
- com.apple.keylayout.Russian
bar:
- com.apple.keylayout.Finnish
- com.apple.keylayout.Ukrainian-PC
- com.apple.inputmethod.Kotoeri.RomajiTyping.Japanese
```

Upon initialization, the utility determines the current active input source and starts from that particular source
within its respective collection.

2. **Double Press Mode**

Double press mode is activated when the Globe key is double-pressed.

In this mode, the utility switches between different collections of input sources. Each double press of the Globe
key cycles to the next collection in the configuration.

The maximum time interval between the first and second press that is considered a double press can be configured
in the `double_press.maximum_delay` property. This delay is specified in milliseconds.

These enhancements aim to provide a more versatile and user-friendly experience for managing multiple input sources,
especially for users who frequently switch between different languages or keyboard layouts.

See our wiki for more information on
[how to set up and configure the utility](https://github.com/Serpentiel/betterglobekey/wiki).

(back to top)

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create, so any
contributions you make are greatly appreciated.

If you would like to contribute, please make sure to take a look
at [this guideline](https://github.com/Serpentiel/betterglobekey/blob/main/CONTRIBUTING.md) beforehand.

Please see our [security policy](https://github.com/Serpentiel/betterglobekey/blob/main/SECURITY.md) to report any possible
vulnerabilities or serious issues.

(back to top)

## License

Distributed under the MIT License. See
[`LICENSE.md`](https://github.com/Serpentiel/betterglobekey/blob/main/LICENSE.md) for more information.

> **N.B.** This project explicitly does not requires its contributors to sign a _Contributor License Agreement_ nor does
> it posses one.

(back to top)