I have been trying defining a custom comparator for std::map container.
The question is : can I relay on == and != operators or would that break strict weak order ? Am I
You may not care how things are ordered in the map, but the map does. The code you've provided above does not appear to implement strict weak ordering correctly. As you have already noted that switching left with right will not change the result of operator() in all cases, your function does not implement strict weak ordering.
You do not necesarrily have to implement the comparator in terms of operator< directly, but you must ensure that if operator()(A,B) returns true, then operator()(B,A) does not also return true.