Code Monkey home page Code Monkey logo

Comments (11)

Kenneth-Audenaert avatar Kenneth-Audenaert commented on May 24, 2024

not sure if this should be seperate issues or not but here goes (it's in the same vain as the main toppic)

dosbox_pure_libretro does some fancy automapping which works quite ok if you use a controller.

I tried with both an xbox style controller (logitech rumblepad 2) on a pc and an xbox controller on an xbox one x, this does seem to map quite ok in most cases (dos platformers work mostly ok)

however there does not seem to be a way to switch to fullscreen mode in cloudretro with an xbox style controller (other then plugging in a keyboard to press the "F" key).

I also noticed that the right stick is not mapped to anything nor are the push functions of both sticks. (usually L3 en R3)

maybe these could be mapped to the function for the F key on controllers?

I know that dosbox_pure_libretro is able to display an onscreen keyboard when playing games. cfr: https://github.com/schellingb/dosbox-pure#on-screen-keyboard
This is handy when playing dosgames which require some weird unmapped key press (dos games tend to have these).

but there is no way to call this onscreen keyboard with the current cloudretro controller mapping scheme. (if i'm not mistaken this is mapped to L3 by default in dosbox_pure_libretro)

This onscreen keyboard is a nice way of allowing for additional keypresses without actually implementing all the seperate keypresess natively through the entire cloud-retro stack.

could the L3 functionality be enabled?

from cloud-game.

Kenneth-Audenaert avatar Kenneth-Audenaert commented on May 24, 2024

joystick.js adjusted mainly for dosbox_pure L3 mapping (virtual keyboard) and allowing dosbox_pure to do more efficient magic mapping.

125         } else {
126             // default of other OS is KeyMap2
127             joystickMap = {
128                 0: KEY.A,
129                 1: KEY.B,
130                 // default xbox style controller mapping so dosbox_pure can do its magic mapping better
131                 2: KEY.X,
132                 3: KEY.Y,
133                 // allow L3/R3 mapping for dosbox_pure to be able to call the virtual keyboard
134                 4: KEY.L3,
135                 5: KEY.R3,
136                 // default xbox style controller mapping so dosbox_pure can do its magic mapping better
137                 8: KEY.SELECT,
138                 9: KEY.START,
139                 // enable fullscreen toggle from controller for couch-surf playing on xbox
140                 6: KEY.FULL,
141                 7: KEY.QUIT,
142                 12: KEY.UP,
143                 13: KEY.DOWN,
144                 14: KEY.LEFT,
145                 15: KEY.RIGHT
146             };
147         }

from cloud-game.

Kenneth-Audenaert avatar Kenneth-Audenaert commented on May 24, 2024

maybe best to do a controller mapping scheme based on what core is loaded (if that is possible)?

from cloud-game.

Kenneth-Audenaert avatar Kenneth-Audenaert commented on May 24, 2024

-testing on windows client with rumble pad 2 works great.
-testing on xbox all works fine in "game controller mode", except that pressing "B" in fullscreen mode quits fullscreen mode
(mostly mapped to the jump key in dosbox_pure games, so only really playable in windowed mode for now)

from cloud-game.

sergystepanov avatar sergystepanov commented on May 24, 2024

There is no option for the client (browser) to know what core is running at the moment.
So, does the B button exit from the browser fullscreen mode? (just what F11 does on the keyboard)

from cloud-game.

Kenneth-Audenaert avatar Kenneth-Audenaert commented on May 24, 2024
  • mapping based per selected game, maybe that's an option? (most of the time there won't be overlap, dos games require dos layout, nes games nes layout, ...)
  • yes it just exits full screen, the game keeps running just fine

from cloud-game.

sergystepanov avatar sergystepanov commented on May 24, 2024
  • mapping based per selected game, maybe that's an option? (most of the time there won't be overlap, dos games require dos layout, nes games nes layout, ...)

Doesn't matter, it's not implemented on the client. We need to expose some IDs for cores and games and a UI to be able to tweak it which is the hardest part. Current cloud-retro options UI is far from perfect and, I think, won't work with controllers also (you can try (;).

  • yes it just exits full screen, the game keeps running just fine

Strange. Do both buttons (B and FullScreen) toggle it (or does B only exits)?

from cloud-game.

Kenneth-Audenaert avatar Kenneth-Audenaert commented on May 24, 2024
  • butten mapped to KEY.FULL (6) togles fullscreen on or of
  • button mapped to KEY.B (1) only exits (does not toggle) when in fullscreen mode (with "game controller mode" enabled) and also registers as the actual B button (in either fullscreen or windowed mode)

from cloud-game.

Kenneth-Audenaert avatar Kenneth-Audenaert commented on May 24, 2024

is there a way to just run the app in fullscreen by default, and disabling fullscreen/windowed togling?

appart from the cool handheld aesthetic, I don't see a good reason (at least for my intended purposes) to have it in a window anyway.

from cloud-game.

sergystepanov avatar sergystepanov commented on May 24, 2024

Not possible, but it'll be not that hard to add.
Yeah, this handheld-like UI makes sense only with smartphones (touch screens). Not sure about making it fullscreen by default, but as an option, why not.

from cloud-game.

Kenneth-Audenaert avatar Kenneth-Audenaert commented on May 24, 2024

e.g. different configurable defaults depending on client device string (ios, windows, android, ...)

from cloud-game.

Related Issues (20)

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.