I think any option with the code would not equal 128.
And what is the problem then?
ZXMC (given that bit always D3 = 1) in any event
will be issued at the port 0xFEDF code different from the 128.
No problem. Only my previous K-MOUSE 2006 version use button 4 on D3 of port FADF. New K-MOUSE 2008 support only 3 buttons and bit D3 = always 1. Only my new 2008 version support read 7FFD port but this is no possible test on real ZX128/+2 Spectrums. This models contain hardware bug (error in equation in HAL10H8: http://velesoft.speccy.cz/zx/umbrella/umbrella.htm

BANK = !WR & !A1 & !IORQ & !A15 | !RD & !A1 & !IORQ & !A15
This is CLK signal for 7FFD port. Correct is:
BANK = !WR & !A1 & !IORQ & !A15
This bug write byte floating data bus to port 7FFD and ZX crash.

K-MOUSE 2008 backup last writed value to port 7FFD. If CPU read this port, K-MOUSE return to data bus correct data (this data will writed to 7FFD port in ZX128 too). If any software will use read port 7FFD, then must detect if new K-MOUSE is connect ( IN FEDF + CP 128 ). Other values signed that port 7FFD is impossible read. All my modified ZX games for kempston mouse use mouse driver located at start of IM2 table and often is retained only last 2 bytes with adress. Thereby K-MOUSE return FF value as vector adress to data bus (ZX models is unstable)

VELESOFT