Graphical plug to set any shortcut for mouse, keyboard and touchpad, and for each app, like the app better touch tool for mac

Registered by Julian

Elementary OS would be really awesome if we could configure any gesture for touchpad, any button of a mouse or any keyboard shortcut as easy as for better touch tool.

As for the keyboard shortcuts, we already get it with keyboard plug, but I think we should have something like this for touchpad and mouse. It would also be great to set different actions for apps

For example, if you get one button on each side of your mouse, the right one would send "next" if the cursor is over music app, and the left one would be "previous", but if they are pressed over an other app, it would be respectively next and previous desktop.

This would really improve productivity cause every user could use elementary his own way.

# Expected functionality:
At least we should have normal mouse and touchpad functionnality. I hope we could change actions for each app for mouse, touchpad and keyboard. The must would be to support magic mouse, leap motion and a phone remote app but this is not a priority.

- Link a gesture with a set of functionnality :
    * 1 to 5 fingers
    * Gestures : up, down, left, ride, pinch and inverted pinch, press, long press, right and left rotation

- Link mouse buttons with functionnality
    * Click any mouse button in a specific area would detect which one you want to use
    * Combinate mouse buttons or keyboard and mouse buttons

- Large amount of functionnality by categories like :
     * Keyboard shortcut (you type a keyboard shortcut and the action will launch this shortcut)
     * Window resize and move (resize in a corner, a side, in full screen, move to another desktop, maybe resize manually if the gesture is a pinch...)
     * Elementary control (desktop viewer, open launcher, hide/show dock, show/hide panel, maybe a switch fullscreen mode if the blueprint "combine maximize and fullscreen" is released : mode 1 would be fullscreen without title bar (own app desktop), mode 2 would be fullscreen with titlebar (own app desktop) and mode 3 would be maximize acutal mode (panel, titlebar, desktop shared with other apps)
     * Audio shortcut (next/previous music, play and pause, up and down volume...)
     * Specific gesture action like zoom for pinch, or rotate for rotation (also specific for photo edition or move through a map)
     * ....

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

I'm new here but I love (and I'm running) my Freya build, and I really like this idea. I'm coming from OS X and this might be just enough to get me to switch to 100% Elementary!

I might just try my hand at a mockup of what I'd like this to look like.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.