xmodmap has no notion of state, so it has no way to reset state directly. You can simulate it by using
xmodmap -pke >.xmodmap.orig before making any changes (although it doesn't save the modifier map, which you would have to save and restore manually) — but it's a bit too late for that.
Modern systems don't generally use
xmodmap to configure the keyboard, though.
setxkbmap is the modern way to do it; and that does reset bindings when run. So you may be able to use
setxkbmap -layout us to reset things to normal. More complete would be to check for the default configuration in
/etc/X11/xorg.conf. For example, on my system
jinx:718 Z$ sed -n '/Identifier.*Keyboard/,/EndSection/p' /etc/X11/xorg.conf
Identifier "Generic Keyboard"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbOptions" "grp:alt_shift_toggle"
The corresponding command is
setxkbmap -model pc105 -layout us -option grp:alt_shift_toggle
If there were an
XkbVariant entry in the output, you would pass its value with
-variant. One thing to watch out for is that options are handled specially: you can only set one option per
-option parameter, and you need to use
-option '' to reset parameters first. So to fully reset when there is something like
XkbOptions "grp:alt_shift_toggle,grp:ctrls_toggle" you would need
setxkbmap -model pc105 -layout us -option '' -option grp:alt_shift_toggle -option grp:ctrls_toggle