Custom Toggle Shortcut (for an operation that doesn't normally toggle)?
As you are a veteran here, I will point you in the right direction and when you have it you can post it here as answer:)

You need an operator that doesn't simply do a thing, but does a thing based on condition. That means you will have to script your own operator, and assign a custom shortcut to it:


How to register custom operator
In the execute function, you will have to check the active object and all it's faces and see their smooth attribute: 


How to get Bmesh from active object
Bmesh faces: BMFace.smooth

Based in which state the mesh is, execute


shade_smooth operator
shade_flat operator
How to run an operator: refer to point 1 last line of example code

Assign a custom shortcut to your operator:


Adding a custom shortcut

Turn it into an addon, so you don't have to run the script every time (or also save it in the startup file, check register and enable auto run scripts):


Simple addon example with operator