Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIX: Special chars in HID names causing rebinding to not work (case 1335465). #1451

Merged
merged 8 commits into from Nov 29, 2021

Conversation

Rene-Damm
Copy link
Contributor

@Rene-Damm Rene-Damm commented Nov 2, 2021

Fixes 1335465 (FogBugz).

Description

In control paths, characters like (/, <, >, {, and }) take on special meaning. Backslashes are used to escape this.

However, the current code takes many strings (such as product names) as is and puts them into control paths where they are then read incorrectly.

Changes made

The code now escapes and unescapes strings in several places. Also, the / character takes on special meaning only while not inside a {..} or <..> group.

Notes

InputControlPath is still waiting for a proper refactor which I chose not to roll into this bugfix. There's the PathParser code now and MatchPathComponent should be brought over to it. All code operating on path structures should be rolled over into using PathParser.

Checklist

Before review:

  • Changelog entry added.
    • Explains the change in Changed, Fixed, Added sections.
    • For API change contains an example snippet and/or migration example.
    • FogBugz ticket attached, example ([case %number%](https://issuetracker.unity3d.com/issues/...)).
    • FogBugz is marked as "Resolved" with next release version correctly set.
  • Tests added/changed, if applicable.
    • Functional tests Area_CanDoX, Area_CanDoX_EvenIfYIsTheCase, Area_WhenIDoX_AndYHappens_ThisIsTheResult.
    • Performance tests.
    • Integration tests.
  • Docs for new/changed API's.
    • Xmldoc cross references are set correctly.
    • Added explanation how the API works.
    • Usage code examples added.
    • The manual is updated, if needed.

During merge:

  • Commit message for squash-merge is prefixed with one of the list:
    • NEW: ___.
    • FIX: ___.
    • DOCS: ___.
    • CHANGE: ___.
    • RELEASE: 1.1.0-preview.3.

Copy link
Collaborator

@ekcoh ekcoh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved but one question/concern regarding using space as replacement char, maybe we already got it covered?

@Rene-Damm Rene-Damm merged commit eb4f139 into develop Nov 29, 2021
@Rene-Damm Rene-Damm deleted the fix-slash-in-hid-device-names branch November 29, 2021 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants