SoftKeys can be programmed through the Phone (CAT Mode) or with MATWorX Studio or MATWorX IPS. I highly recommend using MAT WorX when making the SoftKeys.
Command 1222 is set to "0" at default allowing softkey functionality. Command 1223 allows you to set a Dterm to the desired Pattern (0,1,2,3). Tipically, all phones are set to reference the same pattern, but it's up to you. Pattern 3 cannot be changed, leaving you Patterns 0,1,2 to change as you see fit.
The programming for this is very tricky. If you use the phone to program, it's all done in Command 9A
If you know what softkeys you want based on the state of the phone (Idle, On a trunk call, During dialing, etc) I can give you some suggestions.
I used 9A00 because I'm using Pattern 0. The "00" represents Pattern 0 and the "10" in 9A10 represents the name programming for pattern 0 (example - MIC for microphone is, per HEX assignment, 4D4943). 9A00 & 9A10 go hand in hand. Command 77 in the Command manual has a chart that tells you what character is what in HEX.
You program the key assignment then you MUST program a name for it. If you only program the key but not the name, the LCD for that key will be blank but it will have functionality if pressed. This is why I recommend using MATWorX for all SoftKey programming.
Below is what I have for all my Dterms (Command 1223=0 (using pattern 0) and Command 1222=0)
Idle state
9A00-0000-F1017 9A10-0000-4D4943(MIC)
9A00-0001-F5014 9A10-0001-535953(SYS)
9A00-0002-F5010 9A10-0002-434944(CID)
During Dialing - (Holding no call)
9A00-0100-F1017 9A10-0100-4D4943(MIC)
9A00-0101-F1014 9A10-0101-535953(SYS)
9A00-0102-F5010 9A10-0102-434944(CID)
9A00-0103-F0010 9A10-0103-464341(FDA)
During Speaking (Holding no call)
9A00-1000-F1017 9A10-1000-4D4943(MIC)
9A00-1001-F1091 9A10-1001-524543(REC)
9A00-1002-F5010 9A10-1002-434944(CID)
The MIC and CID are in several softkey states so I can kill the Microphone if I want, CID (Caller ID) is to display and re-display the Call ID info. SYS is System Speed dial, FDA is Forward All, REC is Live Record to AD-8 Voice Mail.
I'm only concerned with three of the 15 or so states a Dterm can be in. But, you can make it any way you want.
Good luck....