Skip to content

Commit 0c5cad9

Browse files
author
David Kline
authored
Merge pull request #2210 from LocalJoost/Keyboard_dication_input_fixes
Keyboard dication input fixes
2 parents 74df617 + 741fa69 commit 0c5cad9

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

Assets/HoloToolkit/Input/Scripts/InputSources/DictationInputManager.cs

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ protected override void OnDestroy()
101101

102102
#endregion // Unity Methods
103103

104+
104105
/// <summary>
105106
/// Turns on the dictation recognizer and begins recording audio from the default microphone.
106107
/// </summary>
@@ -167,6 +168,14 @@ public static IEnumerator StartRecording(GameObject listener = null, float initi
167168
/// </summary>
168169
public static IEnumerator StopRecording()
169170
{
171+
yield return Instance.StopRecordingInternal();
172+
}
173+
174+
/// <summary>
175+
/// Ends the recording session.
176+
/// </summary>
177+
private IEnumerator StopRecordingInternal()
178+
{
170179
#if UNITY_WSA || UNITY_STANDALONE_WIN
171180
if (!IsListening || isTransitioning)
172181
{
@@ -190,16 +199,21 @@ public static IEnumerator StopRecording()
190199
dictationRecognizer.Stop();
191200
}
192201

202+
StartCoroutine(FinishStopRecording());
203+
#else
204+
return null;
205+
#endif
206+
}
207+
208+
private IEnumerator FinishStopRecording()
209+
{
193210
while (dictationRecognizer.Status == SpeechSystemStatus.Running)
194211
{
195212
yield return null;
196213
}
197214

198215
PhraseRecognitionSystem.Restart();
199216
isTransitioning = false;
200-
#else
201-
return null;
202-
#endif
203217
}
204218

205219
#region Dictation Recognizer Callbacks

Assets/HoloToolkit/UX/Scripts/Keyboard.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,10 @@ public void OnDictationHypothesis(DictationEventData eventData)
326326
/// <param name="eventData">Dictation event data</param>
327327
public void OnDictationResult(DictationEventData eventData)
328328
{
329+
if (eventData.used)
330+
{
331+
return;
332+
}
329333
var text = eventData.DictationResult;
330334
ResetClosingTime();
331335
if (text != null)
@@ -336,6 +340,7 @@ public void OnDictationResult(DictationEventData eventData)
336340
m_CaretPosition += text.Length;
337341

338342
UpdateCaretPosition(m_CaretPosition);
343+
eventData.Use();
339344
}
340345
}
341346

0 commit comments

Comments
 (0)