Script running on the SENDING PC:
import socket
from pynput import mouse
# Set the IP address of the receiver PC
RECEIVER_IP = "xx.xx.xx.xx" # Replace with the receiver's IP
PORT = 5005
def send_message(message):
# """Send a message to the receiver."""
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as client:
client.sendto(message.encode(), (RECEIVER_IP, PORT))
print(f"Sent: {message}")
def on_click(x, y, button, pressed):
# """Send right-click events."""
if button == mouse.Button.right:
if pressed:
send_message("RIGHT_DOWN")
else:
send_message("RIGHT_UP")
elif button == mouse.Button.button8:
if pressed:
send_message("SIDE1_DOWN")
else:
send_message("SIDE1_UP")
elif button == mouse.Button.button9:
if pressed:
send_message("SIDE2_DOWN")
else:
send_message("SIDE2_UP")
# Start listening for right-clicks
with mouse.Listener(on_click=on_click) as listener:
listener.join()
Script running on the RECIEVING PC:
import socket
import time
import logging
from pynput import mouse, keyboard
logging.getLogger('pynput').setLevel(logging.CRITICAL)
# Setup server
HOST = "0.0.0.0" # Listen on all available interfaces
PORT = 5005 # Port to listen on
mouse = mouse.Controller()
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as server:
server.bind((HOST, PORT))
print(f"Listening on {HOST}:{PORT}")
while True:
data, addr = server.recvfrom(1024)
message = data.decode()
if message == "RIGHT_DOWN":
print(f"Right button pressed from {addr}")
kb = keyboard.Controller()
kb.press(keyboard.Key.f9)
elif message == "RIGHT_UP":
print(f"Right button released from {addr}")
kb = keyboard.Controller()
time.sleep(0.5)
kb.release(keyboard.Key.f9)
elif message == "SIDE1_DOWN":
print(f"BackThumb - DOWN")
kb = keyboard.Controller()
time.sleep(0.5)
kb.press(keyboard.Key.f8)
elif message == "SIDE1_UP":
print(f"BackThumb - UP")
kb = keyboard.Controller()
time.sleep(0.5)
kb.release(keyboard.Key.f8)
elif message == "SIDE2_DOWN":
print(f"FrontThumb - DOWN")
kb = keyboard.Controller()
time.sleep(0.5)
kb.press(keyboard.Key.f8)
elif message == "SIDE2_UP":
print(f"FrontThumb - UP")
kb = keyboard.Controller()
time.sleep(0.5)
kb.release(keyboard.Key.f8)
Both scripts appeared to work fine up until a few weeks ago, but now it doesnt work. I have replaced the IP obviously, but have verified this is right on the receiving PC.
The sending program is working. And sending and printing the messages. The recieving program is not picking them up though.