@quenty/inputkeymaputils 14.23.3 → 14.23.4-canary.559.339cfa7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [14.23.4-canary.559.339cfa7.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/inputkeymaputils@14.23.3...@quenty/inputkeymaputils@14.23.4-canary.559.339cfa7.0) (2025-05-10)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Additional type checking updates ([05ba29a](https://github.com/Quenty/NevermoreEngine/commit/05ba29a03efc9f3feed74b34f1d9dfb237496214))
12
+ * slottedtouchbutton recursion ([#557](https://github.com/Quenty/NevermoreEngine/issues/557)) ([c3e5c89](https://github.com/Quenty/NevermoreEngine/commit/c3e5c8977f9207f1b56489010ce12b204a28f4ae))
13
+
14
+
15
+ ### Features
16
+
17
+ * Add even more types ([b31717d](https://github.com/Quenty/NevermoreEngine/commit/b31717d8c9f7620c457f5018a2affa760a65334a))
18
+
19
+
20
+
21
+
22
+
6
23
  ## [14.23.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/inputkeymaputils@14.23.2...@quenty/inputkeymaputils@14.23.3) (2025-04-10)
7
24
 
8
25
  **Note:** Version bump only for package @quenty/inputkeymaputils
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/inputkeymaputils",
3
- "version": "14.23.3",
3
+ "version": "14.23.4-canary.559.339cfa7.0",
4
4
  "description": "System to define rebindable key bindings and inputs for Roblox.",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -26,26 +26,26 @@
26
26
  "Quenty"
27
27
  ],
28
28
  "dependencies": {
29
- "@quenty/baseobject": "^10.8.3",
30
- "@quenty/brio": "^14.17.3",
31
- "@quenty/clienttranslator": "^14.19.3",
32
- "@quenty/ducktype": "^5.8.4",
33
- "@quenty/enumutils": "^3.4.2",
34
- "@quenty/inputmode": "^13.18.3",
35
- "@quenty/loader": "^10.8.3",
36
- "@quenty/maid": "^3.4.3",
37
- "@quenty/observablecollection": "^12.20.3",
38
- "@quenty/pseudolocalize": "^3.4.2",
39
- "@quenty/rx": "^13.17.3",
40
- "@quenty/servicebag": "^11.11.4",
41
- "@quenty/statestack": "^14.18.3",
42
- "@quenty/string": "^3.3.3",
43
- "@quenty/table": "^3.7.4",
44
- "@quenty/valuebaseutils": "^13.17.3",
45
- "@quenty/valueobject": "^13.17.3"
29
+ "@quenty/baseobject": "10.8.4-canary.559.339cfa7.0",
30
+ "@quenty/brio": "14.17.4-canary.559.339cfa7.0",
31
+ "@quenty/clienttranslator": "14.19.4-canary.559.339cfa7.0",
32
+ "@quenty/ducktype": "5.8.5-canary.559.339cfa7.0",
33
+ "@quenty/enumutils": "3.4.2",
34
+ "@quenty/inputmode": "13.18.4-canary.559.339cfa7.0",
35
+ "@quenty/loader": "10.8.4-canary.559.339cfa7.0",
36
+ "@quenty/maid": "3.4.4-canary.559.339cfa7.0",
37
+ "@quenty/observablecollection": "12.20.4-canary.559.339cfa7.0",
38
+ "@quenty/pseudolocalize": "3.4.3-canary.559.339cfa7.0",
39
+ "@quenty/rx": "13.17.4-canary.559.339cfa7.0",
40
+ "@quenty/servicebag": "11.11.5-canary.559.339cfa7.0",
41
+ "@quenty/statestack": "14.18.4-canary.559.339cfa7.0",
42
+ "@quenty/string": "3.3.3",
43
+ "@quenty/table": "3.7.5-canary.559.339cfa7.0",
44
+ "@quenty/valuebaseutils": "13.17.4-canary.559.339cfa7.0",
45
+ "@quenty/valueobject": "13.17.4-canary.559.339cfa7.0"
46
46
  },
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  },
50
- "gitHead": "b06c070ae91d5dab7bd8de6e290ad2caabb15d8f"
50
+ "gitHead": "339cfa778736f08768ed7305041f6221faa35bfc"
51
51
  }
@@ -47,7 +47,7 @@ function InputKeyMapListUtils.observeActiveInputKeyMap(inputKeyMapList, serviceB
47
47
  else
48
48
  return Rx.of(nil)
49
49
  end
50
- end);
50
+ end),
51
51
  })
52
52
  end
53
53
 
@@ -74,8 +74,8 @@ function InputKeyMapListUtils.observeActiveInputTypesList(inputKeyMapList, servi
74
74
  else
75
75
  return Rx.of(nil)
76
76
  end
77
- end);
78
- Rx.distinct();
77
+ end),
78
+ Rx.distinct(),
79
79
  })
80
80
  end
81
81
 
@@ -104,4 +104,4 @@ function InputKeyMapListUtils.observeActiveInputModeType(inputKeyMapList, servic
104
104
  end)
105
105
  end
106
106
 
107
- return InputKeyMapListUtils
107
+ return InputKeyMapListUtils
@@ -6,12 +6,12 @@ local require = require(script.Parent.loader).load(script)
6
6
 
7
7
  local Maid = require("Maid")
8
8
  local PseudoLocalize = require("PseudoLocalize")
9
- local _ServiceBag = require("ServiceBag")
9
+ local ServiceBag = require("ServiceBag")
10
10
 
11
11
  local InputKeyMapServiceClient = {}
12
12
  InputKeyMapServiceClient.ServiceName = "InputKeyMapServiceClient"
13
13
 
14
- function InputKeyMapServiceClient:Init(serviceBag: _ServiceBag.ServiceBag)
14
+ function InputKeyMapServiceClient:Init(serviceBag: ServiceBag.ServiceBag)
15
15
  assert(not self._serviceBag, "Already initialized")
16
16
  self._serviceBag = assert(serviceBag, "No serviceBag")
17
17
  self._maid = Maid.new()
@@ -48,9 +48,13 @@ function InputKeyMapServiceClient:_ensureLocalizationEntries()
48
48
  local value = text
49
49
 
50
50
  localizationTable:SetEntryValue(key, source, context, localeId, value)
51
- localizationTable:SetEntryValue(key, source, context,
51
+ localizationTable:SetEntryValue(
52
+ key,
53
+ source,
54
+ context,
52
55
  PseudoLocalize.getDefaultPseudoLocaleId(),
53
- PseudoLocalize.pseudoLocalize(value))
56
+ PseudoLocalize.pseudoLocalize(value)
57
+ )
54
58
  end))
55
59
  end
56
60
 
@@ -58,4 +62,4 @@ function InputKeyMapServiceClient:Destroy()
58
62
  self._maid:DoCleaning()
59
63
  end
60
64
 
61
- return InputKeyMapServiceClient
65
+ return InputKeyMapServiceClient
@@ -4,12 +4,12 @@
4
4
 
5
5
  local require = require(script.Parent.loader).load(script)
6
6
 
7
- local _ServiceBag = require("ServiceBag")
7
+ local ServiceBag = require("ServiceBag")
8
8
 
9
9
  local InputKeyMapService = {}
10
10
  InputKeyMapService.ServiceName = "InputKeyMapService"
11
11
 
12
- function InputKeyMapService:Init(serviceBag: _ServiceBag.ServiceBag)
12
+ function InputKeyMapService:Init(serviceBag: ServiceBag.ServiceBag)
13
13
  assert(not self._serviceBag, "Already initialized")
14
14
  self._serviceBag = assert(serviceBag, "No serviceBag")
15
15
 
@@ -18,4 +18,4 @@ function InputKeyMapService:Init(serviceBag: _ServiceBag.ServiceBag)
18
18
  self._serviceBag:GetService(require("InputKeyMapTranslator"))
19
19
  end
20
20
 
21
- return InputKeyMapService
21
+ return InputKeyMapService
@@ -11,10 +11,10 @@
11
11
  local require = require(script.Parent.loader).load(script)
12
12
 
13
13
  local BaseObject = require("BaseObject")
14
- local ValueObject = require("ValueObject")
15
14
  local InputModeType = require("InputModeType")
16
15
  local InputTypeUtils = require("InputTypeUtils")
17
- local _Observable = require("Observable")
16
+ local Observable = require("Observable")
17
+ local ValueObject = require("ValueObject")
18
18
 
19
19
  local InputKeyMap = setmetatable({}, BaseObject)
20
20
  InputKeyMap.ClassName = "InputKeyMap"
@@ -113,7 +113,7 @@ end
113
113
 
114
114
  @return Observable<{ InputType }>
115
115
  ]=]
116
- function InputKeyMap.ObserveInputTypesList(self: InputKeyMap): _Observable.Observable<{ InputType }>
116
+ function InputKeyMap.ObserveInputTypesList(self: InputKeyMap): Observable.Observable<{ InputType }>
117
117
  return self._inputTypeList:Observe()
118
118
  end
119
119
 
@@ -126,4 +126,4 @@ function InputKeyMap.GetInputTypesList(self: InputKeyMap): { InputType }
126
126
  return self._inputTypeList.Value
127
127
  end
128
128
 
129
- return InputKeyMap
129
+ return InputKeyMap
@@ -50,16 +50,15 @@ local InputModeType = require("InputModeType")
50
50
  local InputModeTypes = require("InputModeTypes")
51
51
  local InputTypeUtils = require("InputTypeUtils")
52
52
  local Maid = require("Maid")
53
+ local Observable = require("Observable")
53
54
  local ObservableCountingMap = require("ObservableCountingMap")
54
55
  local ObservableMap = require("ObservableMap")
55
56
  local Rx = require("Rx")
56
57
  local RxBrioUtils = require("RxBrioUtils")
58
+ local Set = require("Set")
57
59
  local SlottedTouchButtonUtils = (require :: any)("SlottedTouchButtonUtils")
58
60
  local StateStack = require("StateStack")
59
61
  local String = require("String")
60
- local _Observable = require("Observable")
61
- local _Brio = require("Brio")
62
- local _Set = require("Set")
63
62
 
64
63
  local InputKeyMapList = setmetatable({}, BaseObject)
65
64
  InputKeyMapList.ClassName = "InputKeyMapList"
@@ -292,8 +291,8 @@ end
292
291
  Observes a brio with the first value as the InputModeType and the second value as the KeyMapList
293
292
  @return Observable<Brio<InputModeType, InputKeyMap>>
294
293
  ]=]
295
- function InputKeyMapList.ObservePairsBrio(self: InputKeyMapList): _Observable.Observable<
296
- _Brio.Brio<InputModeType.InputModeType, InputKeyMap.InputKeyMap>
294
+ function InputKeyMapList.ObservePairsBrio(self: InputKeyMapList): Observable.Observable<
295
+ Brio.Brio<InputModeType.InputModeType, InputKeyMap.InputKeyMap>
297
296
  >
298
297
  return self._inputModeTypeToInputKeyMap:ObservePairsBrio()
299
298
  end
@@ -323,7 +322,7 @@ end
323
322
  ]=]
324
323
  function InputKeyMapList.ObserveInputKeyMapsBrio(
325
324
  self: InputKeyMapList
326
- ): _Observable.Observable<_Brio.Brio<InputKeyMap.InputKeyMap>>
325
+ ): Observable.Observable<Brio.Brio<InputKeyMap.InputKeyMap>>
327
326
  return self._inputModeTypeToInputKeyMap:ObserveValuesBrio()
328
327
  end
329
328
 
@@ -332,7 +331,7 @@ end
332
331
  ]=]
333
332
  function InputKeyMapList.ObserveInputModesTypesBrio(
334
333
  self: InputKeyMapList
335
- ): _Observable.Observable<_Brio.Brio<InputModeType.InputModeType>>
334
+ ): Observable.Observable<Brio.Brio<InputModeType.InputModeType>>
336
335
  return self._inputModeTypeToInputKeyMap:ObserveKeysBrio()
337
336
  end
338
337
 
@@ -345,7 +344,7 @@ end
345
344
  function InputKeyMapList.ObserveInputKeyMapForInputMode(
346
345
  self: InputKeyMapList,
347
346
  inputModeType: InputModeType.InputModeType
348
- ): _Observable.Observable<InputKeyMap.InputKeyMap?>
347
+ ): Observable.Observable<InputKeyMap.InputKeyMap?>
349
348
  assert(InputModeType.isInputModeType(inputModeType), "Bad inputModeType")
350
349
 
351
350
  return self._inputModeTypeToInputKeyMap:ObserveValueForKey(inputModeType)
@@ -356,7 +355,7 @@ end
356
355
 
357
356
  @return Observable<boolean>
358
357
  ]=]
359
- function InputKeyMapList.ObserveIsTapInWorld(self: InputKeyMapList): _Observable.Observable<boolean>
358
+ function InputKeyMapList.ObserveIsTapInWorld(self: InputKeyMapList): Observable.Observable<boolean>
360
359
  self:_ensureInit()
361
360
 
362
361
  return self._isTapInWorld:Observe()
@@ -402,7 +401,7 @@ end
402
401
  ]=]
403
402
  function InputKeyMapList.ObserveInputEnumsList(
404
403
  self: InputKeyMapList
405
- ): _Observable.Observable<{ InputTypeUtils.InputType }>
404
+ ): Observable.Observable<{ InputTypeUtils.InputType }>
406
405
  self:_ensureInit()
407
406
 
408
407
  return self._inputTypesForBinding:ObserveKeysList()
@@ -426,7 +425,7 @@ end
426
425
  ]=]
427
426
  function InputKeyMapList.ObserveInputEnumsSet(
428
427
  self: InputKeyMapList
429
- ): _Observable.Observable<_Set.Set<InputTypeUtils.InputType>>
428
+ ): Observable.Observable<Set.Set<InputTypeUtils.InputType>>
430
429
  self:_ensureInit()
431
430
 
432
431
  return self._inputTypesForBinding:ObserveKeysSet()
@@ -479,35 +478,39 @@ function InputKeyMapList._ensureInit(self: InputKeyMapList)
479
478
  self._isRobloxTouchButton = self._maid:Add(StateStack.new(false, "boolean"))
480
479
 
481
480
  -- Listen
482
- self._maid:GiveTask(self._inputModeTypeToInputKeyMap:ObserveValuesBrio():Subscribe(function(brio: Brio.Brio<InputKeyMap.InputKeyMap>)
483
- if brio:IsDead() then
484
- return
485
- end
486
-
487
- local inputKeyMapMaid = brio:ToMaid()
488
- local inputKeyMap: InputKeyMap.InputKeyMap = brio:GetValue()
489
-
490
- inputKeyMapMaid:GiveTask(inputKeyMap:ObserveInputTypesList():Subscribe(function(inputTypes)
491
- local maid = Maid.new()
492
-
493
- for _, inputType in inputTypes do
494
- -- only emit enum items
495
- if typeof(inputType) == "EnumItem" then
496
- maid:GiveTask(countingMap:Add(inputType :: any))
497
- elseif InputTypeUtils.isTapInWorld(inputType) then
498
- maid:GiveTask(self._isTapInWorld:PushState(true))
499
- elseif InputTypeUtils.isRobloxTouchButton(inputType) then
500
- maid:GiveTask(self._isRobloxTouchButton:PushState(true))
501
- elseif InputChordUtils.isModifierInputChord(inputType) then
502
- maid:GiveTask(countingMap:Add((inputType :: any).keyCode))
481
+ self._maid:GiveTask(
482
+ self._inputModeTypeToInputKeyMap
483
+ :ObserveValuesBrio()
484
+ :Subscribe(function(brio: Brio.Brio<InputKeyMap.InputKeyMap>)
485
+ if brio:IsDead() then
486
+ return
503
487
  end
504
- end
505
488
 
506
- inputKeyMapMaid._current = maid
507
- end))
508
- end))
489
+ local inputKeyMapMaid = brio:ToMaid()
490
+ local inputKeyMap: InputKeyMap.InputKeyMap = brio:GetValue()
491
+
492
+ inputKeyMapMaid:GiveTask(inputKeyMap:ObserveInputTypesList():Subscribe(function(inputTypes)
493
+ local maid = Maid.new()
494
+
495
+ for _, inputType in inputTypes do
496
+ -- only emit enum items
497
+ if typeof(inputType) == "EnumItem" then
498
+ maid:GiveTask(countingMap:Add(inputType :: any))
499
+ elseif InputTypeUtils.isTapInWorld(inputType) then
500
+ maid:GiveTask(self._isTapInWorld:PushState(true))
501
+ elseif InputTypeUtils.isRobloxTouchButton(inputType) then
502
+ maid:GiveTask(self._isRobloxTouchButton:PushState(true))
503
+ elseif InputChordUtils.isModifierInputChord(inputType) then
504
+ maid:GiveTask(countingMap:Add((inputType :: any).keyCode))
505
+ end
506
+ end
507
+
508
+ inputKeyMapMaid._current = maid
509
+ end))
510
+ end)
511
+ )
509
512
 
510
513
  return self._inputTypesForBinding
511
514
  end
512
515
 
513
- return InputKeyMapList
516
+ return InputKeyMapList
@@ -45,26 +45,26 @@ local require = require(script.Parent.loader).load(script)
45
45
 
46
46
  local RunService = game:GetService("RunService")
47
47
 
48
- local Maid = require("Maid")
48
+ local InputKeyMapList = require("InputKeyMapList")
49
49
  local InputKeyMapRegistryServiceShared = require("InputKeyMapRegistryServiceShared")
50
+ local Maid = require("Maid")
50
51
  local ObservableList = require("ObservableList")
51
- local _ServiceBag = require("ServiceBag")
52
- local _InputKeyMapList = require("InputKeyMapList")
52
+ local ServiceBag = require("ServiceBag")
53
53
 
54
54
  local InputKeyMapListProvider = {}
55
55
  InputKeyMapListProvider.ClassName = "InputKeyMapListProvider"
56
56
  InputKeyMapListProvider.ServiceName = "InputKeyMapListProvider"
57
57
  InputKeyMapListProvider.__index = InputKeyMapListProvider
58
58
 
59
- export type CreateDefaultsCallback = (self: InputKeyMapListProvider, serviceBag: _ServiceBag.ServiceBag) -> ()
59
+ export type CreateDefaultsCallback = (self: InputKeyMapListProvider, serviceBag: ServiceBag.ServiceBag) -> ()
60
60
  export type InputKeyMapListProvider = typeof(setmetatable(
61
61
  {} :: {
62
- _serviceBag: _ServiceBag.ServiceBag,
62
+ _serviceBag: ServiceBag.ServiceBag,
63
63
  _maid: Maid.Maid,
64
64
  _providerName: string,
65
65
  _createDefaults: CreateDefaultsCallback,
66
- _inputKeyMapLists: { [string]: _InputKeyMapList.InputKeyMapList },
67
- _inputMapLists: any, -- ObservableList.ObservableList<_InputKeyMapList.InputKeyMapList>,
66
+ _inputKeyMapLists: { [string]: InputKeyMapList.InputKeyMapList },
67
+ _inputMapLists: any, -- ObservableList.ObservableList<InputKeyMapList.InputKeyMapList>,
68
68
  },
69
69
  {} :: typeof({ __index = InputKeyMapListProvider })
70
70
  ))
@@ -91,7 +91,7 @@ function InputKeyMapListProvider.new(
91
91
  return self
92
92
  end
93
93
 
94
- function InputKeyMapListProvider.Init(self: InputKeyMapListProvider, serviceBag: _ServiceBag.ServiceBag)
94
+ function InputKeyMapListProvider.Init(self: InputKeyMapListProvider, serviceBag: ServiceBag.ServiceBag)
95
95
  assert(not self._serviceBag, "Already initialized")
96
96
  self._serviceBag = assert(serviceBag, "No serviceBag")
97
97
  self._maid = Maid.new()
@@ -124,7 +124,7 @@ end
124
124
  function InputKeyMapListProvider.GetInputKeyMapList(
125
125
  self: InputKeyMapListProvider,
126
126
  keyMapListName: string
127
- ): _InputKeyMapList.InputKeyMapList
127
+ ): InputKeyMapList.InputKeyMapList
128
128
  local keyMapList = self:FindInputKeyMapList(keyMapListName)
129
129
  if not keyMapList then
130
130
  error(string.format("Bad keyMapListName %q", tostring(keyMapListName)))
@@ -141,7 +141,7 @@ end
141
141
  function InputKeyMapListProvider.FindInputKeyMapList(
142
142
  self: InputKeyMapListProvider,
143
143
  keyMapListName: string
144
- ): _InputKeyMapList.InputKeyMapList?
144
+ ): InputKeyMapList.InputKeyMapList?
145
145
  assert(type(keyMapListName) == "string", "Bad keyMapListName")
146
146
 
147
147
  if RunService:IsRunning() and not self._inputKeyMapLists then
@@ -195,4 +195,4 @@ function InputKeyMapListProvider.Destroy(self: InputKeyMapListProvider)
195
195
  self._inputKeyMapLists = {}
196
196
  end
197
197
 
198
- return InputKeyMapListProvider
198
+ return InputKeyMapListProvider
@@ -12,14 +12,14 @@ local require = require(script.Parent.loader).load(script)
12
12
 
13
13
  local Maid = require("Maid")
14
14
  local ObservableList = require("ObservableList")
15
- local RxBrioUtils = require("RxBrioUtils")
16
15
  local Rx = require("Rx")
17
- local _ServiceBag = require("ServiceBag")
16
+ local RxBrioUtils = require("RxBrioUtils")
17
+ local ServiceBag = require("ServiceBag")
18
18
 
19
19
  local InputKeyMapRegistryServiceShared = {}
20
20
  InputKeyMapRegistryServiceShared.ServiceName = "InputKeyMapRegistryServiceShared"
21
21
 
22
- function InputKeyMapRegistryServiceShared:Init(serviceBag: _ServiceBag.ServiceBag)
22
+ function InputKeyMapRegistryServiceShared:Init(serviceBag: ServiceBag.ServiceBag)
23
23
  assert(not self._serviceBag, "Already initialized")
24
24
  self._serviceBag = assert(serviceBag, "No serviceBag")
25
25
  self._maid = Maid.new()
@@ -135,5 +135,4 @@ function InputKeyMapRegistryServiceShared:Destroy()
135
135
  self._maid:DoCleaning()
136
136
  end
137
137
 
138
-
139
- return InputKeyMapRegistryServiceShared
138
+ return InputKeyMapRegistryServiceShared
@@ -5,4 +5,4 @@
5
5
 
6
6
  local require = require(script.Parent.loader).load(script)
7
7
 
8
- return require("JSONTranslator").new("InputKeyMapTranslator", "en", {})
8
+ return require("JSONTranslator").new("InputKeyMapTranslator", "en", {})
@@ -7,12 +7,12 @@
7
7
 
8
8
  local require = require(script.Parent.loader).load(script)
9
9
 
10
- local InputKeyMapList = require("InputKeyMapList")
11
- local InputModeTypes = require("InputModeTypes")
12
10
  local InputKeyMap = require("InputKeyMap")
11
+ local InputKeyMapList = require("InputKeyMapList")
13
12
  local InputModeType = require("InputModeType")
13
+ local InputModeTypes = require("InputModeTypes")
14
+ local InputTypeUtils = require("InputTypeUtils")
14
15
  local SlottedTouchButtonUtils = require("SlottedTouchButtonUtils")
15
- local _InputTypeUtils = require("InputTypeUtils")
16
16
 
17
17
  local ProximityPromptInputUtils = {}
18
18
 
@@ -67,11 +67,14 @@ end
67
67
  @param inputModeType InputModeType
68
68
  @return KeyCode?
69
69
  ]=]
70
- function ProximityPromptInputUtils.getFirstInputKeyCode(inputKeyMapList: InputKeyMapList.InputKeyMapList, inputModeType: InputModeType.InputModeType): Enum.KeyCode?
70
+ function ProximityPromptInputUtils.getFirstInputKeyCode(
71
+ inputKeyMapList: InputKeyMapList.InputKeyMapList,
72
+ inputModeType: InputModeType.InputModeType
73
+ ): Enum.KeyCode?
71
74
  assert(type(inputKeyMapList) == "table", "Bad inputKeyMapList")
72
75
  assert(InputModeType.isInputModeType(inputModeType), "Bad inputModeType")
73
76
 
74
- local inputTypesForInputMode: { _InputTypeUtils.InputType } = inputKeyMapList:GetInputTypesList(inputModeType)
77
+ local inputTypesForInputMode: { InputTypeUtils.InputType } = inputKeyMapList:GetInputTypesList(inputModeType)
75
78
  for _, entry in inputTypesForInputMode do
76
79
  if typeof(entry) == "EnumItem" and entry.EnumType == Enum.KeyCode then
77
80
  return entry :: any
@@ -81,4 +84,4 @@ function ProximityPromptInputUtils.getFirstInputKeyCode(inputKeyMapList: InputKe
81
84
  return nil
82
85
  end
83
86
 
84
- return ProximityPromptInputUtils
87
+ return ProximityPromptInputUtils
@@ -38,10 +38,10 @@ function InputChordUtils.createModifierInputChord(modifiers, keyCode)
38
38
  assert(EnumUtils.isOfType(Enum.KeyCode, keyCode), "Bad keyCode")
39
39
 
40
40
  return {
41
- type = "ModifierInputChord";
42
- modifiers = modifiers;
43
- keyCode = keyCode;
41
+ type = "ModifierInputChord",
42
+ modifiers = modifiers,
43
+ keyCode = keyCode,
44
44
  }
45
45
  end
46
46
 
47
- return InputChordUtils
47
+ return InputChordUtils
@@ -137,4 +137,4 @@ function InputTypeUtils.areInputTypesListsEquivalent(a: { InputType }, b: { Inpu
137
137
  return #left == 0
138
138
  end
139
139
 
140
- return InputTypeUtils
140
+ return InputTypeUtils
@@ -5,10 +5,8 @@
5
5
 
6
6
  local require = require(script.Parent.loader).load(script)
7
7
 
8
- local _InputModeType = require("InputModeType")
9
- local _InputKeyMapList = require("InputKeyMapList")
10
- local _InputKeyMap = require("InputKeyMap")
11
- local _InputTypeUtils = require("InputTypeUtils")
8
+ local InputKeyMapList = require("InputKeyMapList")
9
+ local InputModeType = require("InputModeType")
12
10
 
13
11
  local SlottedTouchButtonUtils = {}
14
12
 
@@ -21,7 +19,7 @@ local SlottedTouchButtonUtils = {}
21
19
  ]=]
22
20
  export type SlottedTouchButtonData = {
23
21
  slotId: string,
24
- inputModeType: _InputModeType.InputModeType,
22
+ inputModeType: InputModeType.InputModeType,
25
23
  }
26
24
 
27
25
  --[=[
@@ -32,7 +30,7 @@ export type SlottedTouchButtonData = {
32
30
  @param slotId string
33
31
  @return SlottedTouchButton
34
32
  ]=]
35
- function SlottedTouchButtonUtils.createSlottedTouchButton(slotId: string): _InputTypeUtils.SlottedTouchButton
33
+ function SlottedTouchButtonUtils.createSlottedTouchButton(slotId: string): any
36
34
  assert(
37
35
  slotId == "primary1"
38
36
  or slotId == "primary2"
@@ -71,7 +69,7 @@ end
71
69
  ]=]
72
70
  function SlottedTouchButtonUtils.createTouchButtonData(
73
71
  slotId: string,
74
- inputModeType: _InputModeType.InputModeType
72
+ inputModeType: InputModeType.InputModeType
75
73
  ): SlottedTouchButtonData
76
74
  return {
77
75
  slotId = slotId,
@@ -85,13 +83,15 @@ end
85
83
  @param inputKeyMapList InputKeyMapList
86
84
  @return { SlottedTouchButtonData }
87
85
  ]=]
88
- function SlottedTouchButtonUtils.getSlottedTouchButtonData(inputKeyMapList: _InputKeyMapList.InputKeyMapList): { SlottedTouchButtonData }
86
+ function SlottedTouchButtonUtils.getSlottedTouchButtonData(
87
+ inputKeyMapList: InputKeyMapList.InputKeyMapList
88
+ ): { SlottedTouchButtonData }
89
89
  local slottedTouchButtons: { SlottedTouchButtonData } = {}
90
90
 
91
91
  for _, inputKeyMap: any in inputKeyMapList:GetInputKeyMaps() do
92
92
  for _, touchButtonData in inputKeyMap:GetInputTypesList() do
93
93
  if SlottedTouchButtonUtils.isSlottedTouchButton(touchButtonData) then
94
- local slottedButtonData: _InputTypeUtils.SlottedTouchButton = touchButtonData :: any
94
+ local slottedButtonData = touchButtonData :: any
95
95
  table.insert(
96
96
  slottedTouchButtons,
97
97
  SlottedTouchButtonUtils.createTouchButtonData(
@@ -4,28 +4,28 @@
4
4
  ]=]
5
5
  local require = require(script.Parent.loader).load(script)
6
6
 
7
- local InputModeTypes = require("InputModeTypes")
8
7
  local InputKeyMap = require("InputKeyMap")
9
8
  local InputKeyMapList = require("InputKeyMapList")
10
9
  local InputKeyMapListProvider = require("InputKeyMapListProvider")
10
+ local InputModeTypes = require("InputModeTypes")
11
11
  local SlottedTouchButtonUtils = require("SlottedTouchButtonUtils")
12
12
 
13
13
  return InputKeyMapListProvider.new(script.Name, function(self)
14
14
  self:Add(InputKeyMapList.new("JUMP", {
15
- InputKeyMap.new(InputModeTypes.KeyboardAndMouse, { Enum.KeyCode.Q });
16
- InputKeyMap.new(InputModeTypes.Gamepads, { Enum.KeyCode.ButtonY });
17
- InputKeyMap.new(InputModeTypes.Touch, { SlottedTouchButtonUtils.createSlottedTouchButton("primary3") });
15
+ InputKeyMap.new(InputModeTypes.KeyboardAndMouse, { Enum.KeyCode.Q }),
16
+ InputKeyMap.new(InputModeTypes.Gamepads, { Enum.KeyCode.ButtonY }),
17
+ InputKeyMap.new(InputModeTypes.Touch, { SlottedTouchButtonUtils.createSlottedTouchButton("primary3") }),
18
18
  }, {
19
- bindingName = "Jump";
20
- rebindable = true;
19
+ bindingName = "Jump",
20
+ rebindable = true,
21
21
  }))
22
22
 
23
23
  self:Add(InputKeyMapList.new("HONK", {
24
- InputKeyMap.new(InputModeTypes.KeyboardAndMouse, { Enum.KeyCode.H });
25
- InputKeyMap.new(InputModeTypes.Gamepads, { Enum.KeyCode.ButtonL1 });
26
- InputKeyMap.new(InputModeTypes.Touch, { SlottedTouchButtonUtils.createSlottedTouchButton("primary2") });
24
+ InputKeyMap.new(InputModeTypes.KeyboardAndMouse, { Enum.KeyCode.H }),
25
+ InputKeyMap.new(InputModeTypes.Gamepads, { Enum.KeyCode.ButtonL1 }),
26
+ InputKeyMap.new(InputModeTypes.Touch, { SlottedTouchButtonUtils.createSlottedTouchButton("primary2") }),
27
27
  }, {
28
- bindingName = "Honk";
29
- rebindable = true;
28
+ bindingName = "Honk",
29
+ rebindable = true,
30
30
  }))
31
- end)
31
+ end)
@@ -23,5 +23,4 @@ keyMapList:ObserveInputEnumsList():Subscribe(function(...)
23
23
  end, false, ...)
24
24
  end)
25
25
 
26
-
27
- keyMapList:SetForInputMode(InputModeTypes.Keypad, { Enum.KeyCode.Space })
26
+ keyMapList:SetForInputMode(InputModeTypes.Keypad, { Enum.KeyCode.Space })
@@ -10,4 +10,3 @@ local serviceBag = require("ServiceBag").new()
10
10
  serviceBag:GetService(require("TestInputKeyMap"))
11
11
  serviceBag:Init()
12
12
  serviceBag:Start()
13
-