I'm using an external keyboard with Ubuntu 14.04 LTS and dual-booting Windows 8.1, although that may be irrelevant to the question.
With the NumLock switched on, I can type numbers by default and I can access the home/end, page up/down & arrow buttons by pressing Shift key as well.
With the NumLock switched off, I can access the home/end, page up/down and arrow buttons by default while pressing Shift allows me to select the number keys.
However, on Windows, the Home/End buttons function as Home/End buttons regardless of NumLock state. In other words, pressing Shift and Home/End will always result in Home/End button presses which is useful when typing, editing and jumping around large chunks of text.
The only answer I found which is still relevant to Ubuntu 14.04 LTS is this one but the main problem is that I'm not entirely sure how to implement that script. Or really, how to use that code at all. Hence, I would really appreciate an explanation of how to actually use that code or, even better for me, a graphical way to achieve the same result.