As an example of what you might do ...
First copy the file KeyboardLayout_en_US.cpp and rename it as KeyboardLayout_en_UK.cpp.
Most of the entries will be the same. Now looking at the layout in https://github.com/arduino-libraries/Keyboard/blob/1.0.4/src/KeyboardLayout.h we see this:
+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+
|35 |1e |1f |20 |21 |22 |23 |24 |25 |26 |27 |2d |2e |BackSp |
+---+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-----+
| Tab |14 |1a |08 |15 |17 |1c |18 |0c |12 |13 |2f |30 | Ret |
+-----++--++--++--++--++--++--++--++--++--++--++--++--++ |
|CapsL |04 |16 |07 |09 |0a |0b |0d |0e |0f |33 |34 |31 | |
+----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---+----+
|Shi.|32 |1d |1b |06 |19 |05 |11 |10 |36 |37 |38 | Shift |
+----+---++--+-+-+---+---+---+---+---+--++---+---++----+----+
|Ctrl|Win |Alt | |AlGr|Win |Menu|Ctrl|
+----+----+----+------------------------+----+----+----+----+
The third key along the top row of my (US) keyboard (below the function keys) has @ on top and 2 on the bottom. It has the code 1f in the chart.
In the US layout file we see, in part:
0x2c, // ' ' 0x20
0x1e|SHIFT, // ! 0x21
0x34|SHIFT, // " 0x22
0x20|SHIFT, // # 0x23
0x21|SHIFT, // $ 0x24
0x22|SHIFT, // % 0x25
0x24|SHIFT, // & 0x26
0x34, // ' 0x27
0x26|SHIFT, // ( 0x28
0x27|SHIFT, // ) 0x29
0x25|SHIFT, // * 0x2a
0x2e|SHIFT, // + 0x2b
0x36, // , 0x2c
0x2d, // - 0x2d
0x37, // . 0x2e
0x38, // / 0x2f
0x27, // 0 0x30
0x1e, // 1 0x31
0x1f, // 2 0x32
0x20, // 3 0x33
0x21, // 4 0x34
0x22, // 5 0x35
0x23, // 6 0x36
0x24, // 7 0x37
0x25, // 8 0x38
0x26, // 9 0x39
0x33|SHIFT, // : 0x3a
0x33, // ; 0x3b
0x36|SHIFT, // < 0x3c
0x2e, // = 0x3d
0x37|SHIFT, // > 0x3e
0x38|SHIFT, // ? 0x3f
0x1f|SHIFT, // @ 0x40
I've put the positions of each entry on the right (the offset from the start of the array).
So looking at that table, when the scan code 1f arrives, and SHIFT is pressed, we get 0x40 which is indeed @ in the ASCII table.
Similarly, 1f without SHIFT gives us 0x32 which is 2 in the ASCII table.
Now in your case I believe that key gives " when SHIFT is pressed, so the third line from the top in my example changes from:
0x34|SHIFT, // " 0x22
to:
0x1f|SHIFT, // " 0x22
And likewise for the other keys. So, the @ symbol moves to where the quote is in the US keyboard. So change the last line in my example from:
0x1f|SHIFT, // @ 0x40
to:
0x34|SHIFT, // " 0x40
Those two changes "swap" the locations of the " and the @ symbols.
As noted in the comments, keys marked ¬ and £ do not have a 7-bit ASCII representation so you will not be able to put them in the table (there is no entry for them).