Add update guide for global input capture feature
This commit is contained in:
115
clients/UPDATE_GUIDE.md
Normal file
115
clients/UPDATE_GUIDE.md
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
# NFC Network Client Update - Global Input Capture
|
||||||
|
|
||||||
|
## What's New in v1.1.0
|
||||||
|
|
||||||
|
**MAJOR IMPROVEMENT:** The NFC client now uses **global input capture** - it will capture NFC scans even when the window is NOT focused!
|
||||||
|
|
||||||
|
### The Problem (Fixed)
|
||||||
|
Previously, the client only captured keyboard input when its window had focus. If you clicked on another window or minimized it, NFC scans wouldn't be detected.
|
||||||
|
|
||||||
|
### The Solution
|
||||||
|
The new version uses the `pynput` library to capture keyboard input globally, regardless of which window has focus. This means:
|
||||||
|
|
||||||
|
✅ NFC scans work when the client is minimized
|
||||||
|
✅ NFC scans work when you're using other programs
|
||||||
|
✅ NFC scans work when you're browsing the web
|
||||||
|
✅ The client can run in the background without being annoying
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### For New Installations
|
||||||
|
1. Navigate to the `clients` directory
|
||||||
|
2. Install dependencies:
|
||||||
|
```
|
||||||
|
pip install -r client_requirements.txt
|
||||||
|
```
|
||||||
|
3. Run the client:
|
||||||
|
```
|
||||||
|
start_nfc_client.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
### For Existing Installations
|
||||||
|
1. Pull the latest version from Gitea
|
||||||
|
2. Install the new dependency:
|
||||||
|
```
|
||||||
|
pip install pynput
|
||||||
|
```
|
||||||
|
3. Run the updated client:
|
||||||
|
```
|
||||||
|
start_nfc_client.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
The launcher will automatically check for `pynput` and install it if missing.
|
||||||
|
|
||||||
|
## Technical Details
|
||||||
|
|
||||||
|
### How It Works
|
||||||
|
- Uses `pynput.keyboard.Listener` for system-wide keyboard capture
|
||||||
|
- Monitors all keyboard input regardless of focus
|
||||||
|
- Maintains the same scan detection logic (character accumulation + Enter key)
|
||||||
|
- Automatically starts the global listener on launch
|
||||||
|
|
||||||
|
### UI Indicators
|
||||||
|
The client window now shows:
|
||||||
|
- **"Global Input Capture"** status panel
|
||||||
|
- Green "Active - Capturing NFC scans globally" when running
|
||||||
|
- Clear indication that scans work without window focus
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
- **Python 3.7+**
|
||||||
|
- **pynput** (new requirement)
|
||||||
|
- **requests** (existing)
|
||||||
|
- **tkinter** (usually included with Python)
|
||||||
|
|
||||||
|
### Compatibility
|
||||||
|
- ✅ Windows 10/11
|
||||||
|
- ✅ Linux (requires X11 or accessibility permissions)
|
||||||
|
- ✅ macOS (may require accessibility permissions)
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### "Permission denied" errors on Linux/macOS
|
||||||
|
The system may require accessibility permissions for global input capture.
|
||||||
|
|
||||||
|
**Linux (X11):**
|
||||||
|
```bash
|
||||||
|
# Should work out of the box with X11
|
||||||
|
# Wayland may require additional setup
|
||||||
|
```
|
||||||
|
|
||||||
|
**macOS:**
|
||||||
|
1. Go to System Preferences → Security & Privacy → Privacy
|
||||||
|
2. Add Python/Terminal to "Accessibility" list
|
||||||
|
3. Restart the client
|
||||||
|
|
||||||
|
### "pynput not found" error
|
||||||
|
Run:
|
||||||
|
```
|
||||||
|
pip install pynput
|
||||||
|
```
|
||||||
|
|
||||||
|
Or use the requirements file:
|
||||||
|
```
|
||||||
|
pip install -r client_requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Version History
|
||||||
|
|
||||||
|
### v1.1.0 (Current)
|
||||||
|
- ✨ NEW: Global input capture - works without window focus
|
||||||
|
- ✨ NEW: Background operation capability
|
||||||
|
- ✨ NEW: Visual status indicators for capture state
|
||||||
|
- 🐛 FIX: No longer loses scans when window is unfocused
|
||||||
|
- 📦 NEW: Added `pynput` dependency
|
||||||
|
|
||||||
|
### v1.0.0
|
||||||
|
- Initial release with window-focus-dependent input capture
|
||||||
|
|
||||||
|
## Need Help?
|
||||||
|
|
||||||
|
If you have issues:
|
||||||
|
1. Check that `pynput` is installed: `pip show pynput`
|
||||||
|
2. Check the Activity Log in the client window
|
||||||
|
3. Test with a simple keyboard input when window is unfocused
|
||||||
|
|
||||||
|
Enjoy seamless NFC scanning! 🎬
|
||||||
Reference in New Issue
Block a user