English | 简体中文
League of Legends ping wheel and emotes for the macOS desktop: ping over any app, on any display, and see each other's pings in a shared room.
A native Swift menu bar app (AppKit · SwiftUI · Core Animation) for Apple silicon and Intel.
- Ping wheel: hold ⌥ and drag, release on a slice, and the ping appears at the pointer with its animation and sound.
- Emote wheel: hold ⌃ and drag. Add your own images (PNG, JPG, GIF, WebP).
- Rooms: join with a room code, directly over the local network or through internet relays, end-to-end encrypted. Compatible with the Windows and Mac clients of darrenprx/lolPing.
- Every key is configurable: wheel triggers can be modifier combinations, any key, or a mouse side button; pause, mute, and sending a specific ping or emote can each have a global shortcut.
- In-app updates: new versions download and install inside the app.
- Multiple displays, English and Chinese interface, open at login.
- Download
LolPing-<version>.dmgfrom Releases and drag LolPing into Applications. - On first launch, allow LolPing under System Settings → Privacy & Security → Accessibility.
Requires macOS 14 or later.
| Action | Keys |
|---|---|
| Send a ping | Hold ⌥ and drag, release on a slice |
| Send an emote | Hold ⌃ and drag, release on an emote |
| Cancel | Release in the middle, right-click, or press Esc |
| Pause / resume | ⌃⌥P |
Change them under Settings → Shortcut.
Requires Xcode and XcodeGen. The project file is generated from project.yml; regenerate it after adding or removing source files.
xcodegen generatexcodebuild -project LolPing.xcodeproj -scheme LolPing -configuration Release -derivedDataPath build buildTests:
swift test --package-path Packages/LPCoreswift test --package-path Packages/LPRoomsThe Debug configuration builds LolPing-Dev (com.cloudza.LolPing.dev), whose settings and Accessibility grant are separate from the released app's.
| Path | Contents |
|---|---|
App/ |
The app: event tap, overlay windows and animations, sound, menu bar, settings, localization |
Packages/LPCore |
Gesture recognition, key model, preferences, ping and emote catalogs |
Packages/LPRooms |
Room protocol, encryption, LAN UDP, Nostr relays |
Scripts/release/ |
Release scripts, documented in Scripts/release/README.md (Chinese) |
Pushing a vX.Y.Z tag makes GitHub Actions test, sign, notarize, package a DMG and create the release, together with a signed appcast. Installed copies update themselves from it through Sparkle: the new version is downloaded, verified, installed and relaunched inside the app.
Code is released under the MIT License. Packages/LPRooms is ported from darrenprx/lolPing (© Danrui Meng, MIT).
The ping icons, emotes and sounds in App/Resources are © Riot Games and are not covered by the MIT License. See NOTICE.md.
LolPing isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc.