-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
Add InputEvent icons #77376
Add InputEvent icons #77376
Conversation
I suggest using a different highlighted key for InputEventJoypadMotion (e.g. left button highlighted), so that it's easier to distinguish from InputEventJoypadButton at a glance. Also, InputEventJoypadMotion is used for analog sticks and triggers, not the D-Pad. It may be better to use a circular icon, rather than a cross that resembles a D-pad. |
I know nothing about joysticks :V Well, this sounds like a better way to make the distinction. |
b6bdac7
to
7f2ad7e
Compare
7f2ad7e
to
c749519
Compare
@MewPurPur Wouldn't it make more sense for the motion lines be on the other direction from how it was tilted? For the other ones, here are some icon suggestions:
|
OK, thanks for showing this stuff! I got some ideas now, I'll try to get it done this week. And I agree with you Aaron, I'll tweak the icon to consider this. As for InputEventAction, I'm not gonna go with ampersand, I'd like it to be language-agnostic. I think a cog would make sense, but I'm not sure. |
c749519
to
e58e0e7
Compare
I'll do the remaining 4 later, maybe in another PR if this one gets merged. |
92f9567
to
ad435f1
Compare
The biggest hurdle is that I don't really know in what context the remaining 4 input events are used, namely:
For example, I've got this for InputEventMagnifyGesture, assuming a touchscreen: (The SVG itself in case it's lost, since I've not pushed it yet: But InputEventPanGesture seems to be in the same category, yet it doesn't come up in the context of touchscreens. The few people I talked with who seemed to have an idea said it was for laptops touchpads, and claim it has nothing to do with touchscreens. Moreover, InputEventScreenDrag seems similar and for touchscreen, although its documentation is dominated by it being for stylus pens... And on my personal laptop, using two fingers is just detected as if I'm using a 4-way scrollwheel, as an InputEventMouseButton... This would be awkward and confusing if I get it wrong, when it's already so awkward and confusing. Any help? What are these? How are they normally triggered, and what do they normally do? I'm not so much asking for advice on the icons themselves. I could of course make something generic that "works", like a 4-way arrow for pan or a magnifying glass for "magnify". But I want this to be as useful to users as possible, and for this I need to know the contexts in which this stuff is used. I'll keep trying to figure this out, but this isn't a WIP and I don't think it needs more work. The last icons can be added and tweaked later. |
The magnify gesture is also a trackpad thing so I'd go with something a little bit more generic.
It is in a way. The mouse button event here is AFAICT more of a compatibility thing than anything else, while This behaviour is further supported by things like #73502 which use it as a more precise branch if available.
I have no idea about the two weird touch ones but I looked a bit around for the panning and magnifying gestures. They look to be implemented officially only on MacOS and Android alongside my Wayland branch. It looks like they don't have a universal gesture, which might also be the reason why a semantic naming got chosen instead of a more descriptive one. For example, Android uses the generic scroll event through godot/platform/android/java/lib/src/org/godotengine/godot/input/GodotGestureHandler.kt Lines 212 to 243 in 4c677c8
Although I'm not really sure how and why Android should distinguish between a drag, a scroll and a pan. See: https://m2.material.io/design/interaction/gestures.html#types-of-gestures |
ad435f1
to
a1a8f56
Compare
OK! Doned, check out the PR description for the updated icons in their context. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So pretty! Love 'em!
Yeldham wasn't happy about motion lines, I want to test out his motion blur proposal first. |
I guess that's my cue! 😛 Just putting my 2 cents from the dev chat, I think 3 motion lines in a 16x16 icon pollutes it too much, specially if together with other icons. I suggested that they could become a single "smear", here's a quick and dirty example with the JoypadMotion one: |
a1a8f56
to
47a81a7
Compare
Motion blur looks better, yup. Updated the description with the new icons. |
Yeah this approach looks cleaner. Would it be worth to do the smear on the other icons? |
I did motion blur for InputEventMouseMotion and InputEventJoypadMotion. The other are impact lines and I think their approach is good. |
@MewPurPur all right, makes sense. |
@bruvzg yeah I agree that it doesn't convey the same thing. I can kinda see where the idea comes from but using lines specifically, other than being "standard", is itself very godotty IMO, if that makes sense. That's also one thing I like about the icons of this PR, they mesh really well with the actually pretty iconic and almost cartoony style of Godot. Edit: To put it in another way, other than the stuff discussed above, IMO the line risks getting a bit too... Serious? Dunno if I'm getting the point across. |
I have zero problems with the cartoonish style, it's just that I'm worried about visual pollution on icons so small. Which is why I generally try to simplify those whenever possible.
I thought about suggesting rings, but in Godot (and in a lot of other stuff), rings represent something coming out. For example, the icons for Nodes that are connected. |
Oh yeah I can understand that. To be completely fair I'm not overly worried about visual pollution in this case, lots of node icons are already really complex and IMO the lines are worth here. But... I'm not really known for my graphical taste, so take this heavily with a pinch of salt :P |
Existing stuff being bad doesn't justify ignoring those type of problems. If anything, this means we should start paying double attention for this sort of thing.
While there are some clear rules for icon design, a lot of it depends on personal taste too, so don't worry about it. 😉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! |
What is the InputEventMIDI icon for? I was unable to find such an option in the input settings (which would be really nice, btw) |
@aidan-j-rhoden It's for MIDI devices, such as a piano or guitar. Musical Instrument Digital Interface. |
Yes, I understood that part. Is the icon simply for documentation, or is it an actual option, like a physical key or joy button in the Input Map? |
Possibly finished version:
Adds a new color for the "activated" part.
Also does stuff with some other icons I came across as I was copying stuff: