<div dir="ltr">Hey all, My name is Abhishek Garain, currently a 3rd year BTech student of IIIT Gwalior, India interested in Application Development using Electron and React. I am also into Android Development. I am interested to work on the Gamepad Navigation Aid project during Inclusive Design Institute's GSoC'20 program.<div><br></div><div>Many a times, I have faced a problem while playing games and all of a sudden, have to reach out for a mouse to attend a notification or to change the game. This becomes even more troublesome when the laptop is connected to a TV or Monitor. This is a problem, which is faced by the wider community of gamers and other users, which I would like to solve.</div><div><br></div><div>My 30 minutes of experience of browsing the web without a mouse can be found here: <a href="https://medium.com/@abhi211199/lets-browse-the-web-without-mouse-for-30-minutes-b9a0db5e3ec9">https://medium.com/@abhi211199/lets-browse-the-web-without-mouse-for-30-minutes-b9a0db5e3ec9</a></div><div><br></div><div>Talking about the technical aspects of the project,</div><div>1. After analysing my experiences of browsing the web without a mouse, the main difficulty was to navigate to a particular link, To overcome this, I need to get hold of the pointer. </div><div>Javascript can get pointer co-ordinates but can't control the pointer movements. Python on the other hand, can do so. As the axes provides analog inputs, the pointer can be shifted according to the scaling factor multiplied by the analog value. </div><div>2. Secondly, the keys which are regularly used, needs to mapped to the gamepad. Like opening a new tab with Ctrl+N may me mapped with a button. Swiping between tabs and scroll bar can also be mapped to the axes.</div><div>3.Thirdly, Speech to Text may be implemented for filling up forms or for giving voice commands.</div><div><br></div><div>Based on my observations, I have made a prototype(implemented in Python) which can be found here: <a href="https://github.com/abhi211199/gamepad_navigator">https://github.com/abhi211199/gamepad_navigator</a></div><div>As per my resarch, the incorporation of Chrome functionalities can be implemented using a Chrome Extension(chrome.tabs API). But controlling the pointer needs Python in background. And for mapping the keys to a gamepad, we need an UI built on Electron or within the Extension itself. I am currently researching on various frontend technologies which goes hand in hand with a gamepad.</div><div><br></div><div>I would like to get valuable feedback from mentors regarding my thoughts and prototype. </div><div><br></div><div>Regards,</div><div>Abhishek Garain</div><div><br></div></div>