This doesn't implement everything you've asked for but at least parts of it: https://code.launchpad.net/~nikwen/ubuntu-calculator-app/reboot-keyboard-buttons-haptic-feedback/+merge/255882
This doesn't implement everything you've asked for but at least parts of it: https:/ /code.launchpad .net/~nikwen/ ubuntu- calculator- app/reboot- keyboard- buttons- haptic- feedback/ +merge/ 255882