I just had to write this one for myself, so i figured i'd post it incase anyone else wants it.
This as far as i can see works 100%, you can also remove the lines under my comment to enable caps lock again should you want it.
(I like caps lock, it comes in useful when your working in hex)
! xmodmap for the Colemak layout.
! 2006-01-01 Shai Coleman, https://colemak.com/ . Public domain.
! Modified for english keyboards by CShadowRun
keycode 49 = grave asciitilde dead_tilde asciitilde
keycode 10 = 1 exclam exclamdown onesuperior
keycode 11 = 2 quotedbl masculine twosuperior
keycode 12 = 3 sterling ordfeminine threesuperior
keycode 13 = 4 dollar cent sterling
keycode 14 = 5 percent EuroSign yen
keycode 15 = 6 asciicircum hstroke Hstroke
keycode 16 = 7 ampersand eth ETH
keycode 17 = 8 asterisk thorn THORN
keycode 18 = 9 parenleft leftsinglequotemark leftdoublequotemark
keycode 19 = 0 parenright rightsinglequotemark rightdoublequotemark
keycode 20 = minus underscore endash emdash
keycode 21 = equal plus multiply division
keycode 24 = q Q adiaeresis Adiaeresis
keycode 25 = w W aring Aring
keycode 26 = f F atilde Atilde
keycode 27 = p P oslash Ooblique
keycode 28 = g G dead_ogonek asciitilde
keycode 29 = j J dstroke Dstroke
keycode 30 = l L lstroke Lstroke
keycode 31 = u U uacute Uacute
keycode 32 = y Y udiaeresis Udiaeresis
keycode 33 = semicolon colon odiaeresis Odiaeresis
keycode 34 = bracketleft braceleft guillemotleft U2039
keycode 35 = bracketright braceright guillemotright U203a
keycode 38 = a A aacute Aacute
keycode 39 = r R dead_grave asciitilde
keycode 40 = s S ssharp asciitilde
keycode 41 = t T dead_acute dead_doubleacute
keycode 42 = d D dead_diaeresis asciitilde
keycode 43 = h H dead_caron asciitilde
keycode 44 = n N ntilde Ntilde
keycode 45 = e E eacute Eacute
keycode 46 = i I iacute Iacute
keycode 47 = o O oacute Oacute
keycode 48 = apostrophe at otilde Otilde
keycode 51 = numbersign asciitilde dead_circumflex asciitilde
keycode 52 = x X dead_circumflex asciitilde
keycode 53 = c C ccedilla Ccedilla
keycode 54 = v V oe OE
keycode 55 = b B dead_breve asciitilde
keycode 56 = k K dead_abovering asciitilde
keycode 57 = m M dead_macron asciitilde
keycode 58 = comma less dead_cedilla asciitilde
keycode 59 = period greater dead_abovedot asciitilde
keycode 60 = backslash bar asciitilde asciitilde
keycode 61 = slash question questiondown asciitilde
!Remove these 2 lines if you want caps lock unmodified
keycode 66 = BackSpace BackSpace BackSpace BackSpace
clear Lock
keycode 94 = z Z ae AE
keycode 65 = space space space nobreakspace
keycode 113 = Mode_switch Mode_switch
!clear Shift
!clear Control
!clear Mod1
!clear Mod2
!clear Mod3
!clear Mod4
!clear Mod5
!add Shift = Shift_L Shift_R
!add Control = Control_L Control_R
!add Mod1 = Alt_L Alt_R
!add Mod2 = Num_Lock
!add Mod4 = Meta_L Meta_R
!add Mod5 = Scroll_Lock
!keycode 9 = Escape
!keycode 22 = BackSpace Terminate_Server
!keycode 23 = Tab ISO_Left_Tab
!keycode 36 = Return
!keycode 37 = Control_L
!keycode 50 = Shift_L
!keycode 62 = Shift_R
!keycode 63 = KP_Multiply XF86_ClearGrab
!keycode 64 = Alt_L Meta_L
!keycode 67 = F1 XF86_Switch_VT_1
!keycode 68 = F2 XF86_Switch_VT_2
!keycode 69 = F3 XF86_Switch_VT_3
!keycode 70 = F4 XF86_Switch_VT_4
!keycode 71 = F5 XF86_Switch_VT_5
!keycode 72 = F6 XF86_Switch_VT_6
!keycode 73 = F7 XF86_Switch_VT_7
!keycode 74 = F8 XF86_Switch_VT_8
!keycode 75 = F9 XF86_Switch_VT_9
!keycode 76 = F10 XF86_Switch_VT_10
!keycode 95 = F11 XF86_Switch_VT_11
!keycode 96 = F12 XF86_Switch_VT_12
!keycode 77 = Num_Lock Pointer_EnableKeys
!keycode 78 = Scroll_Lock
!keycode 79 = KP_Home KP_7
!keycode 80 = KP_Up KP_8
!keycode 81 = KP_Prior KP_9
!keycode 82 = KP_Subtract XF86_Prev_VMode
!keycode 83 = KP_Left KP_4
!keycode 84 = KP_Begin KP_5
!keycode 85 = KP_Right KP_6
!keycode 86 = KP_Add XF86_Next_VMode
!keycode 87 = KP_End KP_1
!keycode 88 = KP_Down KP_2
!keycode 89 = KP_Next KP_3
!keycode 90 = KP_Insert KP_0
!keycode 91 = KP_Delete KP_Decimal
!keycode 92 = Print Sys_Req
!keycode 93 = Mode_switch
!keycode 97 = Home
!keycode 98 = Up
!keycode 99 = Prior
!keycode 100 = Left
!keycode 102 = Right
!keycode 103 = End
!keycode 104 = Down
!keycode 105 = Next
!keycode 106 = Insert
!keycode 107 = Delete
!keycode 108 = KP_Enter
!keycode 109 = Control_R
!keycode 110 = Pause Break
!keycode 111 = Print Sys_Req
!keycode 112 = KP_Divide XF86_Ungrab
!keycode 114 = Pause Break
!keycode 115 = Super_L
!keycode 116 = Super_R
!keycode 117 = Menu
!keycode 124 = ISO_Level3_Shift
!keycode 125 = NoSymbol Alt_L
!keycode 126 = KP_Equal
!keycode 127 = NoSymbol Super_L
!keycode 128 = NoSymbol Hyper_L
!keycode 156 = NoSymbol Meta_L
!keycode 8 =
!keycode 101 =
!keycode 118 =
!keycode 119 =
!keycode 120 =
!keycode 121 =
!keycode 122 =
!keycode 123 =
!keycode 129 =
!keycode 130 =
!keycode 131 =
!keycode 132 =
!keycode 133 =
!keycode 134 =
!keycode 135 =
!keycode 136 =
!keycode 137 =
!keycode 138 =
!keycode 139 =
!keycode 140 =
!keycode 141 =
!keycode 142 =
!keycode 143 =
!keycode 144 =
!keycode 145 =
!keycode 146 =
!keycode 147 =
!keycode 148 =
!keycode 149 =
!keycode 150 =
!keycode 151 =
!keycode 152 =
!keycode 153 =
!keycode 154 =
!keycode 155 =
!keycode 157 =
!keycode 158 =
!keycode 159 =
!keycode 160 =
!keycode 161 =
!keycode 162 =
!keycode 163 =
!keycode 164 =
!keycode 165 =
!keycode 166 =
!keycode 167 =
!keycode 168 =
!keycode 169 =
!keycode 170 =
!keycode 171 =
!keycode 172 =
!keycode 173 =
!keycode 174 =
!keycode 175 =
!keycode 176 =
!keycode 177 =
!keycode 178 =
!keycode 179 =
!keycode 180 =
!keycode 181 =
!keycode 182 =
!keycode 183 =
!keycode 184 =
!keycode 185 =
!keycode 186 =
!keycode 187 =
!keycode 188 =
!keycode 189 =
!keycode 190 =
!keycode 191 =
!keycode 192 =
!keycode 193 =
!keycode 194 =
!keycode 195 =
!keycode 196 =
!keycode 197 =
!keycode 198 =
!keycode 199 =
!keycode 200 =
!keycode 201 =
!keycode 202 =
!keycode 203 =
!keycode 204 =
!keycode 205 =
!keycode 206 =
!keycode 207 =
!keycode 208 =
!keycode 209 =
!keycode 210 =
!keycode 211 =
!keycode 212 =
!keycode 213 =
!keycode 214 =
!keycode 215 =
!keycode 216 =
!keycode 217 =
!keycode 218 =
!keycode 219 =
!keycode 220 =
!keycode 221 =
!keycode 222 =
!keycode 223 =
!keycode 224 =
!keycode 225 =
!keycode 226 =
!keycode 227 =
!keycode 228 =
!keycode 229 =
!keycode 230 =
!keycode 231 =
!keycode 232 =
!keycode 233 =
!keycode 234 =
!keycode 235 =
!keycode 236 =
!keycode 237 =
!keycode 238 =
!keycode 239 =
!keycode 240 =
!keycode 241 =
!keycode 242 =
!keycode 243 =
!keycode 244 =
!keycode 245 =
!keycode 246 =
!keycode 247 =
!keycode 248 =
!keycode 249 =
!keycode 250 =
!keycode 251 =
!keycode 252 =
!keycode 253 =
!keycode 254 =
!keycode 255 =