I have a friend, let's call him Jack, who likes to debate and who takes any chance to try and turn the topic of a conversation into the one he prefers.
Last time it happened, I had posted a news on Facebook about a new Trump measure against trans people (I am trans). Jack took this opportunity to bring up his favourite subject for the past years: the way feminism is mistreating men by making unfair laws or by supressing the presumption of innocence. While I agree with him in most of his views about this matter, it is getting increasingly annoying having him always redirect every topic to the same stuff. In this particular case, he not only found a way to link the news with feminism, but also stated that this trans discrimination wasn't as bad as the one he is suffering for being a man, which further irritated me.
My strategy on this occasion (I usually just let it be) was first agreeing with him on his complaints and then trying to redirect the debate again to the trans issues with the only outcome of him going on about how unfairly men are treated and that they are second class citizens, then about how this is much worse than what is happening to the trans community. I got mad at him at this point and ended up being more aggressive than I intended.
I would like to know if there is an efficient way to let him know that he is showing no regard to the current topic of conversation when this kind of situation happens.
I think I should add that he is not very skilled at social interactions - for example, he can go on a monologue for hours not allowing the other person to speak; he also doesn't seem to notice when his interlocutor gets bored of listening.