Translation snapping toggle - Specific dynamic snapping [This is 1 question explained in several questions]

(And as notice asking several questions in separate threads is limited to 40 minutes)



Can you change the snapping target and element while snapping.

Or can you dynamically change the snapping target and element while snapping?



-)
Also know about toggling the snapping in general:

Is there a shortcut to change snapping type?

This is not what I mean.

-)
I know about the [ctrl] snapping feature. When translating an object you can toggle the snapping on and off. This is fine by itself but more specific toggle would be appreciated. 

Can this method be used with specified snapping hotkeys:



Can this method be used with specified snapping hotkeys:


translate an object and toggle snap to 'closet' snapping option on or off? 
translate an object and toggle snap to 'center' snapping option on or off? 
translate an object and toggle snap to 'active' snapping option on or off? 
translate an object and toggle snap to 'median' snapping option on or off? 





translate an object and toggle between snap to 'edge' and snap to 'vertext' snapping options? 
translate an object and toggle between snap to 'face' and snap to 'vertext' snapping options? 
translate an object and toggle between snap to 'face' and snap to 'volume' snapping options? 




Couldn't bind 


wm.context_toggle


with 


scene.tool_settings.snap_element


or


bpy.context.scene.tool_settings.snap_element='VERTEX'


or


toolsettings.snap_element


or

-bpy.context.scene.tool_settings.snap_target = 'CLOSEST'

or

...something similar
It's not so much that you can't change targets while snapping, its more that generally if you are snapping that usually means you are using some sort of  transform operator already.

Now transform operators are generally Modal operators, so that means while they run there is generally a predefined set of actions you can preform, limited by what Blender developers coded into that operator.

As far as I know you could not invoke wm.context_toggle while an operator is already running.

That being said some of the operators do provide some snapping options you can configure. Just go to File > User Preferences > Input search for a transform operator like Translate if you expand it you can control its specific sub-keymap, which includes some basic snapping options like Invert or toggling on and off.