keys_def.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # -*- coding: utf-8 -*-
  2. import pygame
  3. from pygame.locals import *
  4. from sys import exit
  5. import os
  6. import sys
  7. from config import CurKeySet
  8. def GetButtonsLayoutMode():
  9. lm = "xbox"
  10. try:
  11. with open(".buttonslayout", "r") as f:
  12. lm = f.read()
  13. except:
  14. None
  15. if lm not in ["xbox","snes"]:
  16. lm = "xbox"
  17. return lm
  18. def SetButtonsLayoutMode(mode):
  19. SetXYABButtons(mode)
  20. with open(".buttonslayout", "w") as f:
  21. f.write(mode)
  22. def SetXYABButtons(mode):
  23. if mode == "snes":
  24. GameShell["Y"] = pygame.K_u
  25. GameShell["X"] = pygame.K_i
  26. GameShell["B"] = pygame.K_j
  27. GameShell["A"] = pygame.K_k
  28. else:
  29. GameShell["X"] = pygame.K_u
  30. GameShell["Y"] = pygame.K_i
  31. GameShell["A"] = pygame.K_j
  32. GameShell["B"] = pygame.K_k
  33. GameShell = {}
  34. GameShell["Up"] = pygame.K_UP
  35. GameShell["Down"] = pygame.K_DOWN
  36. GameShell["Left"] = pygame.K_LEFT
  37. GameShell["Right"]= pygame.K_RIGHT
  38. GameShell["Menu"] = pygame.K_ESCAPE
  39. SetXYABButtons(GetButtonsLayoutMode())
  40. GameShell["Select"] = pygame.K_SPACE
  41. GameShell["Start"] = pygame.K_RETURN
  42. GameShell["LK1"] = pygame.K_h
  43. GameShell["LK5"] = pygame.K_l
  44. PC = {}
  45. PC["Up"] = pygame.K_UP
  46. PC["Down"] = pygame.K_DOWN
  47. PC["Left"] = pygame.K_LEFT
  48. PC["Right"] = pygame.K_RIGHT
  49. PC["Menu"] = pygame.K_ESCAPE
  50. PC["X"] = pygame.K_x
  51. PC["Y"] = pygame.K_y
  52. PC["A"] = pygame.K_a
  53. PC["B"] = pygame.K_b
  54. PC["Select"] = pygame.K_SPACE
  55. PC["Start"] = pygame.K_s
  56. PC["LK1"] = pygame.K_h
  57. PC["LK5"] = pygame.K_l
  58. if CurKeySet == "PC":
  59. CurKeys = PC
  60. else:
  61. CurKeys = GameShell
  62. def IsKeyStartOrA(key):
  63. return key == CurKeys["Start"] or key == CurKeys["A"]
  64. def IsKeyMenuOrB(key):
  65. return key == CurKeys["Menu"] or key == CurKeys["B"]