Below is my .Xmodmap . It doesn't exactly implement your specification, but should give you an idea how to achieve it. Only Sec-2 should need modification in your case; assuming your keyboard is similar to mine, you will only need 1 line in this section: keycode 108 = Alt_R , since Alt_L is already recognized as Meta_L by the X-server.

Here is my .Xmodmap which makes all modifiers recognized by Emacs available (Alt, Meta, Super, Hyper, Control, Shift):