Instead of using an own xkb layout, modify the layout with xmodmap. Use xcape to use Caps_Lock as Ctrl and Escape depending on if it was pressed in combination vs alone. Add hints for xinput.