Skip to content

SDL2: game controller (711) #536

@GalacticEmperor1

Description

@GalacticEmperor1

Issue №711 opened by illume at 2019-01-03 11:11:52

Various SDL_GameController functions need to be implemented in _sdl2.
https://wiki.libsdl.org/CategoryGameController

  • an example script
  • examples/eventlist.py
  • Tests for controller are needed
  • CONTROLLER_* consts look a bit long, shorter names are needed I think?
  • Better interface for controller mapping in pygame (ask @husano896 what this is about)
  • docs (API docs, but also a migration guide for people used to the old joystick API).

Comments

# # husano896 commented at 2019-05-14 15:08:04

Better interface for controller mapping in pygame (ask @husano896 what this is about)

https://wiki.libsdl.org/SDL_GameControllerAddMapping

At this moment, mapping uses a really long string as SDL2 like

"341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7"

What I think is:

since we can easily get guid and controller name, add mapping should use a easier parameter like

mapping = {
 "a" : "b1",
 "b" : "b2",
 "y" :  "b3",
 "x" : "b0"
 #  etc...
}
controller.add_mapping(mapping)

and so as get_mapping.

mapping = controller.get_mapping() #  return a dict

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions