Giter Site home page Giter Site logo

verbose-void / chrome-controller Goto Github PK

View Code? Open in Web Editor NEW
16.0 3.0 3.0 3.82 MB

ATTENTION: Chrome Controller has unfortunately been removed from the webstore and will no longer be maintained. It's been a good run! </3

License: Creative Commons Zero v1.0 Universal

JavaScript 30.83% CSS 39.85% HTML 27.73% Ruby 1.58%
chrome-extension gamepad-api gamepad-support gamepad-inputs javascript

chrome-controller's Issues

Side-Bar Access From Anywhere

Currently, you can only open the sidebar if you are on the first video element. Make it so that any far-left item can access it.

Gamesir T1 not functioning

Gamesir T1 uses an XInput method as one of its control schemes, but does not seem to work in the XInput mode with Xbox layout enabled. Is there any particular reason it wouldn't be working if it emulates XInput controls? (Please note: This is not the T1S, as that is an entirely different and newer model than the controller I'm using.)

Youtube Home Screen Navigation Skipping

Videos are skipped when a container has an abnormal amount of videos per column. Like when all of the containers have, say, 4 items and another has 2: it will select a weird one.

Can’t see cursor

Every button and joystick works, I can even scroll with the right stick but I can’t see my cursor at all, using ps4 controller

Search Bars

Open a useable on-screen keyboard when the A button is pressed on a search bar.

Finding Videos Doesn't Work When Too Far

When a video is too far down / up, it won't actually switch to it. Maybe implement a searching mechanic that finds the closest video on screen ( if there is one ).

Should scan like this:
Go down x amount of pixels, check, go left ( until you find a video or the edge of the screen is reached ), then if none is found go right. Go down, rinse, and repeat. Do the same thing for when going left to right, only searching upwards first, then going downwards.

Video Volume / Skip

D-Pad up/down should handle the volume slider & D-Pad left/right should skip a set amount of seconds through the video.

Main Menu Extra Items in Rows

For the youtube main menu there are sometimes little arrow buttons that you press and it displays more videos (usually under a channel). When going to the left or right if there is an arrow button, simulate a click on the arrow button.

Should have a license

I know you want the extension to be Open Source but, since it does not have a license, using it as an open source project is tricky. Would you mind adding a license to the repository?

A very simple license that you could use is the 3-clause BSD license that is used by Chromium, for instance.

https://opensource.org/licenses/BSD-3-Clause

Hold Seek

If you hold down the left joystick, instead of not doing anything: make it so that after a set amount of time it speeds up.

Button Mappings

Add a new option menu for button mappings.

Need a generic controller to house all possible button inputs for those that don't have Xbox or PS4 Controllers.

Suggested by Tanner Van De Walle in the Chrome Controller support section.

De-Select After Time

After a certain time threshold, deselect the selection (visually, keeping the selection stored) and when the left joystick is moved, reselect it.

Button maps no longer function

Various button mappings such as the click map have stopped functioning at some point; I have been unsuccessful in attempting to make them work. Looking at the support tab in the Chrome store, this appears to be a widespread and longstanding issue with the extension. Scrolling and movement using the controller sticks still works, so I doubt this is an issue regarding the connection between the gamepad and the browser.

Debug Information

Gamepad Information

Hardware Version
Gamepad Xbox 360 Controller (XInput STANDARD GAMEPAD)

Browser Information

Google Chrome 81.0.4044.138 (Official Build) (64-bit) (cohort: 81_Win_138)
Revision 8c6c7ba89cc9453625af54f11fd83179e23450fa-refs/branch-heads/4044@{#999}
OS Windows 10 OS Version 1903 (Build 18362.778)
JavaScript V8 8.1.307.32
User Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36

Websites Tested

Settings Drop-Down

Add a drop down menu next to the search bar that has settings ( controller mappings possibly as well ).

Notifications

On screen notification UI for things like:

  • Controller connected - Alert the user when the cursor is mounted.
  • Controller disconnected.
  • Push notifications from backend (referenced in the backend repository here).

Automatic Webstore Publishing

System for deploying to the google chrome web-store (preferably a GitHub Action).

Synchronize with the master branch.

Steps for publishing (GitHub Action):

  1. Analyze every update to the master branch by checking the manifest.json file.
  2. If the manifest.json's version has been incremented, tag this commit as a new version release.
  3. After tagging the commit, run the webpack build command.
  4. After the dist folder has been created, zip it up then create a Chrome Controller release.
  5. Call the chrome webstore publish API to update the production version.

Go to a Search Result

From a search results page, be able to navigate through and "click" on the one you want.

Custom Cursors

Custom cursor packs besides the basic circle. Also, ability to have special ones for Patrons.

Side-Bar Not Working Sometimes

If you keep going from different video to different video and back to home a lot, eventually the sidebar will not be useable anymore. Either has to do with caching or can be fixed much like how #16 was fixed (using a validity check for the selected item). Maybe make the sidebar index-independent as well?

Keyboard Auto-Complete

Add support for auto complete in the on screen keyboard.

Support will have to be per site or some how generalized as there is no standard for auto complete forms.

Hover Magnifier

Add a way to magnify what the cursor is hovering over for users that are further away from their monitor.

Could be done similar to how iPhone does their selection mangifier. Or possibly a pop-up window that doesn't mess with the functionality of the controls.

Make a boolean value in the settings.

Scroll Off-Screen Deselect

If you scroll too far down, it should automatically deselect the one you had selected and make it so you can select another video where you scroll to.

Back to Home

Add a way to go back to the main page of youtube.

Generalize Video Controls

If a video is present in the DOM, have controls then be activated rather than being just youtube.

Can be done using video.pause(), video.play(), etc.

Youtube Watch Thin Screen

If you're on a youtube watch page and the screen is really small, the text takes up more space than the video thumbnail and it thinks that there are more than 1 video thumbnail per row so it skips a bunch of videos.

Side-Bar Interference

If you click to open the sidebar (with your mouse) the gamepad will think it's still closed and vice versa.

More Video Features

Add ability to seek through videos using some sort of +10s / -10s feature similar to youtube mobile or hitting your arrow keys in youtube.

Also add volume controls for videos. Can be done using the video.volume property.

Left Hand Sidebar

Add main menu sidebar functionality such as viewing it when you go to the far left, navigating through, and hiding it when you go right.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.