xmodmap will not take you to your goal. The closest in its repertoire is this paragraph (reformatted to show the points):
= KEYSYMNAME ...
The list of keysyms is assigned to the indicated keycode (which may be specified in decimal, hex or octal and can be determined by running the xev program). Up to eight keysyms may be attached to a key, however the last four are not used in any major X server implementation.
- The first keysym is used when no modifier key is pressed in conjunction with this key,
- the second with
- the third when the
Mode_switch key is used with this key and
- the fourth when both the
Shift keys are used.
That is, you could use xmodmap to associate some existing key with the shift-modifier. However, you want that existing key to be controlspace which does not correspond to a key you are likely to find on your keyboard—nor is there an existing keysym for it. Rather, you may use controlspace on occasion to generate an ASCII NUL, but it is so rarely used that there is no standard key on the keyboard for this.
However - both
urxvt can be configured, separately and with different methods to distinguish controlshiftspace. With
xterm, that would be the
translations resource, while
urxvt has a
If you are using
xmodmap, likely you are using either
urxvt). With other terminals, people tend to wade into the
xkb morass. But reviewing the documentation, it seems to have the same limitation as
xmodmap (essentially more of the same thing, no genuinely new capability in this area).