This some nerd shit I swear i get bitches... 😭😭😭😭
The Raspberry Pi Bluetooth Mouse Emulator for Word Hunt Solving (WHS) project aims to develop a system utilizing a Raspberry Pi to emulate a mouse pointer. This system will connect to an iPhone via Bluetooth using the accessibility touch option in settings. The implementation will be done primarily in the Rust programming language. The ultimate goal is to create a program capable of solving word hunts in iMessage games, specifically the Word Hunt game.
- EmuBTHID
- zbus crate
- D-Bus Documentation
- Keyboard and Mouse Emulation on Raspberry Pi
- Linux Bluetooth Low Energy (BLE) documentation
- Gain proficiency in utilizing D-Bus for inter-process communication.
- Master the integration of Bluez with D-Bus for Bluetooth communication.
- Transition programming skills from Python to Rust.
- Develop expertise in low-level system programming concepts relevant to Bluetooth communication and mouse emulation.
- Create a Bluetooth server on the Raspberry Pi:
- Implement discoverability functionality.
- Enable pairing with the iPhone.
- Emulate a mouse pointer:
- Investigate methods for obtaining the position of the phone screen. Determine if this information can be retrieved through the Bluetooth API or if additional methods are required.
- Develop a mouse control abstraction layer:
- Design a class to facilitate mouse movement using function calls.
- Determine whether absolute mouse position or other methods are appropriate.
- Research and implement mouse acceleration mechanisms.
- Utilize the mouse control abstraction layer created in Part A to control the mouse pointer.
- Determine the starting coordinates of the Word Hunt grid:
- Experiment to identify the initial coordinates of the hunt grid and establish movement constants.
- Implement a word hunt solving algorithm:
| A | B | C | D | | E | F | G | H | | I | J | K | L | | M | N | O | P |
- Convert the hunt grid into a string format (e.g., "ABCDEFGHIJKLMNOP").
- Load the string into a 2D vector.
- Load a list of English words from a dictionary.
- Implement a brute-force algorithm to find valid words by checking adjacent letter combinations against the English word list.
- Store the positions of matched words in a suitable data structure.
- Use the mouse control class from Part A to move the mouse pointer to select identified words within the hunt grid.
- Implement robust error handling mechanisms to manage potential failures during Bluetooth communication and mouse emulation.
- Thoroughly test the system to ensure reliability and accuracy, especially in scenarios with varying screen resolutions.
- Document code and design decisions comprehensively for future reference and maintenance purposes.
- Optimize code performance as necessary, particularly in the word hunt solving algorithm, to enhance efficiency.