It is really easy to change behaviour of button in prime.

First, to allow usage of qml file instead of internal mapping , rename file KnownDevices.vfsb to something else

cd /usr/Engine/Content
mv KnownDevices.vfsb KnownDevices.bsfv 

When doing this, we tell prime to use qml files located in /usr/Engine/AssignmentFiles/PresetAssignmentFiles/<product code>/ So on prime go it is JP11.

There are two important file, assignment file & device file. These 2 files mus have the name of the midi sound card of the device.

Here is what we have on PGo :

# amidi -l
Dir Device    Name
IO  hw:0,0,0  PRIME GO Control Surface

So QML files must have the same name.

# ls -l
total 56
-rw-r--r--    1 root     root          4463 Jul 10 22:14 PRIME_GO_Control_Surface_Assignments.qml
-rw-r--r--    1 root     root          3091 May 28 04:49 PRIME_GO_Control_Surface_Device.qml

If you omit these 2 files, Mapping is not working so buttons dont work.

We can found templates for each board in each product_code subfolder.

# pwd
/usr/Engine/AssignmentFiles/PresetAssignmentFiles

# ls -R
.:
JC11  JC16  JC20  JP07  JP08  JP11  JP13  JP14  JP20  JP21  NH08  NH09  NH10

./JC11:
JC11_Controller_Assignments.qml  JC11_Display_Assignments.qml     JC11_Mixer_Assignments.qml
JC11_Controller_Device.qml       JC11_Display_Device.qml          JC11_Mixer_Device.qml

./JC16:
JC16_Controller_Assignments.qml  JC16_Controller_Device.qml       JC16_Display_Assignments.qml     JC16_Display_Device.qml

./JC20:
JC20_Controller_Assignments.qml  JC20_Controller_Device.qml       JC20_Display_Assignments.qml     JC20_Display_Device.qml

[...] 

So for Prime Go, by default the QML file has not the name “PRIME_GO_Control_Surface_Device.qml”, its something else , so just rename your files with mv to have this name.

 
#Syntax :
mv file_oldname filenewname

to add Slicer juste change these lines :

			PerformanceModes {
				ledType: LedType.RGB
				modesModel: ListModel {
					ListElement {
						note: 11
						view: 'CUES'
						
					}
					ListElement {
						note: 12
						view: 'LOOPS'
						altView: 'AUTO'
						shiftView: 'SLICER'
					}
					ListElement {
						note: 13
						view: 'ROLL'
						altView: 'SAMPLER'
						shiftView: 'FIXED'
					}
				}
			}

We add SLICER & FIXED on shift + functions ( shift loop & shift roll to get in slice mode )

After modification restart prime.

Some photos :

dnttalo.cluster029.hosting.ovh.net_pictures_slicepgo.jpg