Definitely this.
Would be a useful function for everybody, actually.
It could function like: press shift, that puts it in toggle "shifted" mode, then lets say you hit save, pattern, when the final action was complete it would unshift. So press shift, press follow, it would turn follow on then shift would stop being active till you pressed it again. All function key functions would have to make a call to clear the shift key at the end of whatever they do. If the shift key wasn't in Shift Toggle mode, that call would be meaningless, so the code wouldn't have to check if it was in shift-toggle mode ever, just if shift=true then do action, reset shift to false.