I assume this was directed at me? If it was, I'm using a Yale YRD256 TSDB zigbee lock. Below, I've pasted the sequence I use to distinguish between locking with the thumbturn or by pushing the button on the outside.
Note: although both of these are physical events, they can be distinguished by the descriptionText. Using the key is the same as "thumbturn". Using the keypad will show up as a button event. At least it does on my lock.

You can import the sequence and edit it for your needs.
Exported sequence
[
{
"id": "1103db7d.65d045",
"type": "switch",
"z": "6c94d65d.665268",
"name": "Front door lock",
"property": "payload.deviceId",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "1219",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 440,
"y": 360,
"wires": [
[
"b35eed31.c19718"
]
]
},
{
"id": "863f4a4f.481ee8",
"type": "hubitat event",
"z": "6c94d65d.665268",
"name": "Events",
"server": "8b31fd80.869848",
"x": 270,
"y": 360,
"wires": [
[
"1103db7d.65d045"
]
]
},
{
"id": "b35eed31.c19718",
"type": "switch",
"z": "6c94d65d.665268",
"name": "locked",
"property": "payload.value",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "locked",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 610,
"y": 360,
"wires": [
[
"b90761bc.814868"
]
]
},
{
"id": "b90761bc.814868",
"type": "switch",
"z": "6c94d65d.665268",
"name": "button or thumbturn",
"property": "payload.descriptionText",
"propertyType": "msg",
"rules": [
{
"t": "cont",
"v": "button",
"vt": "str"
},
{
"t": "cont",
"v": "thumbturn",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 800,
"y": 360,
"wires": [
[],
[]
]
},
{
"id": "8b31fd80.869848",
"type": "hubitat config",
"z": "",
"name": "HubitatES",
"usetls": false,
"host": "192.168.1.46",
"port": "8080",
"token": "d04f665b-4ae2-4bbd-8c51-7d9d7fff7331",
"appId": "1906",
"nodeRedServer": "http://192.168.1.4:1880",
"webhookPath": "/hubitat/webhook3"
}
]