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 =