Appium changing capabilities by prefixing appium:

I am running (just started) appium with WinAppDriver. I guess I need just the driver part of appium since I am using WinAppDriver. Anyway, before invoking the driver I do the following (and I have tried several combinations):

                     DesiredCapabilities dcaps = new DesiredCapabilities();
		// DesiredCapabilities caps = new DesiredCapabilities();
		dcaps.setCapability("automationName", "Windows");
		// dcaps.setCapability("appId", "{1AC14E77-02E7-4E5D-B744- 2EB1AE5198B7}\\notepad.exe}");
		dcaps.setCapability("appId", "C:\\Windows\\System32\\notepad.exe");
		dcaps.setCapability("platformName", "");
		dcaps.setCapability("deviceName", "WindowsPC");
		dcaps.getCapabilityNames();
		app = new WindowsDriver(new URL("http://127.0.0.1:4723/"), dcaps);

When I run, I get the error: "Could not start a new session. Response code 400. Message: Missing command parameter: appId ".  I saw the below in the WinAppDriver window:

 "capabilities": {
 "firstMatch": [
   {
   }
   ],
   "alwaysMatch": {
     "appium:app": "C:\\Windows\\System32\\notepad.exe",
     "appium:automationName": "Windows",
     "appium:deviceName": "WindowsPC",
     "platformName": "windows"
      }
    }

I noticed that in startSession of the appium driver it is changing all the capabilities, like
“ImmutableSet.of(makeW3CSafe(capabilities))” . This method, makeW3Csafe() calls another method, “toW3cName()” which prefixes “appium:” to all the capabilities. WinAppDriver is expecting app or appId, but it receives “appium:appId” or “appium:app” so it thinks it is missing.

Any idea what to do? This is Selenium/Java/WinAppDriver/Eclispe

Since you are learning, you might want to play around with sample code on WinAppDriver. You don’t say what language you are using but there are several available:

Maybe that will steer you in the right direction. More info here:

https://appium.io/docs/en/drivers/windows/

I did mention. Java.

Is there a version of appium.io which does not prefix the capabilities with “appium”?

instead of "new URL("http://127.0.0.1:4723/“)” I now do a
new “HttpCommandExecutor exec = new HttpCommandExecutor(new URL(“http://127.0.0.1:4723/”));WindowsDriver app = new WindowsDriver(exec, dcaps);”