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