Also I missed that you can add your function in userRuntimeCommands to make 
it context sensitive.

On Saturday, September 28, 2024 at 9:20:22 PM UTC+2 Leto Atreides wrote:

> Thank you Justin. I've been playing around with it today and though it is 
> cool I think I'll go with the nameCommand and the hotkey command instead.
> As you say, my eventfilter is destroyed when its parent is destroyed, ie. 
> the editor is closed. And to install it every time the UV Editor(in this 
> case) opens up, would just be too much of an overhead. Do I modify the UI 
> file or track its creation? And if I would modify a copy of the file, then 
> next time a Maya version comes out and something isn't working correctly 
> I'll have to always remind myself to check and compare these files to see 
> if they have been modified or not. So yeah, probably not the best direction 
> to go. And since I can't make my own functions to be context sensitive from 
> within Maya's Hotkey Editor, like only being able to run inside the UV 
> editor, it kind of defeats the purpose of having context sensitivity as I 
> have a few custom scripts I want to use.
>
> So instead:
> the hotkey command works fine, but I will lose the context sensitivity as 
> it will override the key combinations and the key combination as created 
> with the hotkey command will override all context sensitive hotkeys. My 
> purpose is though to have and manage a few files(schemes) for modeling, 
> UV-editing, animation. So when I would switch to a new hotkey scheme(I call 
> them scheme not to be confused with Maya's hotkeys set) it would just 
> replace the hotkeys that are defined in that file and I can just switch 
> easily and fast.
>
> Thanks for all the info on this!
> If I feel I'm missing out I might just delve into it in C++ because there 
> are still the disadvantage of a few keys that can't be bound using Maya's 
> hotkey command such as TAB, the section key
>
>
> On Saturday, September 28, 2024 at 4:43:05 AM UTC+2 Justin Israel wrote:
>
>> On Sat, Sep 28, 2024 at 12:46 PM Leto Atreides <[email protected]> wrote:
>>
>>> @Justin Israel
>>> Thank you. That gives me a lot to think about.
>>>
>>> How does Maya's native hotkeys work. Are they in fact Qt based? And are 
>>> they done with the eventFilter in C++?
>>> For example looking at Ctrl + L it's mapped to a different command in 
>>> three different editors.
>>> It seems all editors are context sensitive? If I add a new hotkey to a 
>>> command under the UV editor, I need the UV editor to be in focus for this 
>>> command to execute.
>>>
>>
>> Don't quote me on this, since I haven' developed for Maya in many years 
>> now and don't know what has changed. But I would expect that since Maya is 
>> a Qt app, that its hotkey manager would assign the shortcuts to the target 
>> widget windows, which make them context sensitive. 
>>  
>>
>>>
>>> For my own custom commands, they are obviously not context sensitive as 
>>> i can run them from any window that has focus. If I should have mapped Ctrl 
>>> + L to a custom command, it will override any default context sensitive 
>>> command defined in Maya.
>>>
>>
>> The way Qt events work is that they are delivered to the QApplication 
>> which then delivers them to the most targeted widget. If the widget does 
>> not handle the event, it will continue bubbling up the parent object 
>> hierarchy until it is handled or falls off. So if you are trying to fight 
>> Maya's hotkey implementation, then you have to get to the event before 
>> Maya's widgets do. That means installing event filters either on the 
>> application or the widgets. The problem with adding event filters to 
>> widgets is that some get destroyed and recreated, which means your event 
>> filter is gone, 
>>
>>  
>>
>>> On Saturday, September 28, 2024 at 1:45:46 AM UTC+2 Justin Israel wrote:
>>>
>>>>
>>>>
>>>> On Sat, Sep 28, 2024, 11:41 AM Leto Atreides <[email protected]> wrote:
>>>>
>>>>> Hi. as there are a few things that bothers me with Maya's hotkeys 
>>>>> system.
>>>>>
>>>>> I'm curious if I can code up a class in PySide2 to create my own 
>>>>> hotkeys system.
>>>>> I've read a few threads on here and I've experimented with the 
>>>>> eventFilter before.
>>>>>
>>>>> However if I understand it correctly, using eventFilter installed on 
>>>>> the Maya main window is bad as all events will go from C++ to python to 
>>>>> C++, making Maya slower?
>>>>>
>>>>
>>>> Yea don't do that in python. If you are going to do it, write it in C++
>>>>
>>>>
>>>>> I'm not sure that I should use an eventFilter, but I want to be able 
>>>>> to map both key press and key release that works wherever I have my focus 
>>>>> in Maya.
>>>>> To have it context sensitive could also be nice so I can set up that 
>>>>> the same key sequence calls a function when in the UV-editor and then 
>>>>> another if I have focus in the viewport.
>>>>>
>>>>> What do you suggest here?
>>>>>
>>>>
>>>> You would have to catch the events before Maya widgets receive them. If 
>>>> you do it at the application with an event filter, it should be C++ and 
>>>> would have to check every object to see if it is one you want to handle. 
>>>> Otherwise you have to find each Qt widget reference and install an 
>>>> event filter, to make it more context specific. 
>>>>
>>>>
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "Python Programming for Autodesk Maya" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/python_inside_maya/b3f25ba2-8233-4dc2-9847-d429336f77d0n%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/python_inside_maya/b3f25ba2-8233-4dc2-9847-d429336f77d0n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Python Programming for Autodesk Maya" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>>
>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/python_inside_maya/70f88322-5f2f-482a-9fa1-e24e892a3eecn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/python_inside_maya/70f88322-5f2f-482a-9fa1-e24e892a3eecn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/c04ce546-cf88-46b8-99f1-88b5304bcab1n%40googlegroups.com.

Reply via email to