lolPing README

The project's README from github.com/darrenprx/lolPing. As one markdown file: README.md.


lolPing

English | 简体中文

League of Legends pings and emotes for your whole desktop, on Windows and macOS.
Hold Alt (⌥ Option on a Mac), drag, and let go on a ping. The animation pops and the sound plays on top of any app, on any monitor.
Hold Ctrl (⌃ Control on a Mac) and drag for the emote wheel: League's emotes, or your own images.

Download for Windows · Download for Mac (Apple Silicon, experimental)

CI Latest release MIT license

An app freezes with a not-responding dialog, and the ping wheel drops three Enemy Missing pings on it

Pings and emotes show up in whole-screen capture, so friends watching your Discord or OBS stream see them too. lolPing is a desktop toy: it doesn't read, change or hook into League itself.

Install

Windows

  1. Download lolPing-Setup-<version>.exe from the latest release.
  2. Run it. The installer isn't code-signed, so Windows SmartScreen may say "Windows protected your PC". Select More info, then Run anyway.
  3. lolPing opens its settings and moves to the tray. Hold Alt and drag anywhere to ping.

lolPing is built for Windows 11, 64-bit. Windows 10 may work, but it isn't tested.

macOS (experimental)

The Mac version needs an Apple Silicon Mac (M1 or later) and macOS 12 or later. It is built and tested automatically, but hasn't had much use on real Macs yet. Please report anything that doesn't work.

  1. Download lolPing-<version>-arm64.dmg from the latest release, open it, and drag lolPing into Applications.
  2. Open lolPing. It isn't signed by a registered Apple developer, so macOS says it can't check it for malware. Select Done, open System Settings → Privacy & Security, scroll down, select Open Anyway next to the lolPing message, and confirm. If macOS instead says lolPing "is damaged", run xattr -dr com.apple.quarantine /Applications/lolPing.app in Terminal and open it again.
  3. lolPing asks for Accessibility access, which it needs to read the mouse and keyboard. Select Open System Settings and turn lolPing on. Pinging starts as soon as it's allowed.
  4. lolPing lives in the menu bar. Hold ⌥ Option and drag anywhere to ping.

After every update, macOS forgets the Accessibility permission, because the app isn't signed with a fixed developer identity. In Privacy & Security → Accessibility, select lolPing, remove it with –, then turn it on again. The settings window walks you through it.

Updating an older version

Updating from v0.4 or earlier: download the new version by hand once. From v0.5 on, lolPing updates itself (see Updates).

Use

To Do this
Ping Hold Alt, drag, and let go on a slice
Emote Hold Ctrl, drag, and let go on an emote
Cancel Let go in the centre, right-click, or press Esc
Pause or resume pinging Ctrl + Alt + P
Open settings Click the tray icon
Quit, or restart the input helper Right-click the tray icon

On a Mac, use ⌥ Option instead of Alt, ⌃ Control instead of Ctrl for emotes, ⌃⌥P to pause, and the ping icon in the menu bar instead of the tray icon.

The wheel, from the top going clockwise: Danger, Push, On My Way, All In, Assist Me, Need Vision, Enemy Missing, Enemy Vision. You can rearrange it and add Bait or Vision Cleared in settings. The emote wheel has 8 slots too, and you pick its emotes in settings.

Settings

The lolPing settings window, with sections for trigger, toggle, pings and sound, wheel, emotes, room and app

Settings are saved in %APPDATA%\lolPing\settings.json on Windows and ~/Library/Application Support/lolPing/settings.json on a Mac.

Updates

lolPing checks GitHub for a new version 10 seconds after it starts, then every 6 hours. When there is one, you get a notice on screen, and the tray menu and Settings → App → About offer Update. It asks first: nothing downloads until you click.

Ping with friends (rooms)

Join a room and everyone in it sees your pings on their own screen, at the same spot (scaled to their resolution), with your name under them. Their pings show up on yours. It works between Windows and Mac.

  1. One person opens Settings → Room (or the tray menu → Room) and clicks Create room.
  2. They copy the code, such as PING-7KQ4M-2HXTR, and send it to friends.
  3. Each friend copies it and clicks Join from clipboard in the tray menu, or pastes it into the Room page and clicks Join.

Known limitations

Build from source

You need Node 22.12 or later, plus:

npm install
npx install-electron
npm run build:helper
npm run dev

npx install-electron downloads the Electron binary that npm run dev needs.

Command What it does
npm test TypeScript tests, including a protocol test that runs the real helper in --simulate mode
npm run test:helper Builds the helper and runs its C++ tests
npm run typecheck Type-checks everything
npm run dist Builds the Windows installer into release/
npm run dist:mac Builds the Mac disk image into release/ (on a Mac)
npm run dev:site Serves a browser demo of the wheel (site/)
npm run media Re-records docs/media/demo.gif and docs/media/og.png from that demo (needs ffmpeg)
node tools/room-peer/run.mjs <code> Joins a room as a fake member that pings at random, to try rooms with one computer; --relay joins through the relays and --emotes also sends emotes (see tools/room-peer)
node tools/relay-probe/run.mjs Tests which public Nostr relays can carry rooms; it chose the list in src/main/relays.ts (see tools/relay-probe)

Releasing

Bump version in package.json, commit, then push a matching tag such as v0.2.0. The Release workflow creates the GitHub release as a draft. The Windows job attaches the installer, latest.yml and the installer's .blockmap, and the Mac job attaches the disk image. electron-updater needs both latest.yml and the .blockmap to update installed copies. A last job publishes the release once everything is attached.

How it works

Ping assets

The icons in assets/textures and the sounds in assets/sounds come from a local League of Legends install. tools/extract-assets explains how to extract them again after a patch. The emote animations, icons and sounds in assets/emotes are © Riot Games too, and tools/extract-assets --emotes bakes them from the same install.

License

The code is under the MIT license. The ping and emote icons, animations and sounds are © Riot Games and aren't covered by it. If you represent Riot Games and want something removed, please open an issue.

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.

lolPing (darrenprx/lolPing)

Searching Database…

1.6K ·GitHub
这是什么?lolPing 把《英雄联盟》的信号轮盘和表情轮盘搬到整个桌面上:按住 Alt(Mac 上是 Option),拖动,松手停到某个扇区上,就会在任意应用、任意显示器上方播放原版的信号动画和音效。
它是不是接入了《英雄联盟》客户端来实现的?不是。lolPing 是一个独立的桌面悬浮层,它在系统层面拦截你的 Alt+拖动手势;它从不读取、修改或连接《英雄联盟》游戏本身。
有什么已知的限制吗?轮盘无法在任务管理器这类提权窗口上弹出,因为 Windows 会屏蔽对它们的输入;独占全屏的游戏会显示在悬浮层之上;直播时只共享单个窗口的话,观众看不到你的信号(需要共享整个屏幕)。
支持 Mac 吗,还是只有 Windows?两个平台都支持,但 macOS 支持还是实验性的,仅限 Apple Silicon 芯片的 Mac(M1 或更新),系统要求 macOS 12+;目前在 Mac 上的实际使用还不多。
检查更新或者在房间里和朋友一起发信号时,会发送什么数据?检查更新时只会让 GitHub 知道你的 IP 地址和 lolPing 的版本号。房间的信号、表情和名字都使用由房间码派生的密钥进行端到端加密;公共中继服务器只能看到你的 IP 和一个匿名的房间 ID,看不到任何内容。
怎么和朋友远程一起发信号?在托盘菜单里创建一个房间,把生成的房间码(比如 PING-7KQ4M-2HXTR)分享给朋友,他们加入即可;信号可以通过局域网传输,或者在允许联网的情况下经由公共 Nostr 中继传输,这样任何人都能在任何地方加入。
可以用自己的图片当表情吗?可以,点击 Add image 或把文件拖到列表里,就能给表情轮盘添加最多 24 张自定义的 PNG、JPG、GIF 或 WebP 图片;动图只会在你自己的屏幕上播放。
可以把触发键从 Alt 换掉吗?可以,在 Settings 里可以把触发键设为 Alt、Ctrl、Shift、Win、Caps Lock、鼠标侧键 4、鼠标侧键 5 或其他任意按键,还能为表情单独设置一个按键。
一个信号房间最多能容纳多少人?一个房间最多 8 人;如果想把某人移出去,只能退出并新建一个房间。
Creator
darrenprx
Size
65.5 MB
Stars
1.6K
Age
15d
Commits · 90 Days