Concordando com o comentário de @meuh, os terminais não geram um código distinto para controle ; (normalmente).
O link sugerido por @tijagi é para xterm e não se aplica a urxvt . Usar a página de manual para urxvt mostra que você pode começar aqui:
keysym.sym: string
Compile frills: Associate string with keysym sym. The intervening
resource name keysym. cannot be omitted.
e use uma configuração como uma dessas:
*keysym.Control-semicolon: mybinding
URxvt.keysym.Control-semicolon: mybinding
usando o nome da classe conforme necessário para substituir os recursos existentes e
onde mybinding é o que você deseja ter urxvt send quando você digita control ; (mas leia a página de manual para obter a sintaxe correta) . @meuh sugere usar 5 ( ^U ), já que normalmente é vinculado a unix-line-discard .
Leitura adicional: