I have a Lenovo Thinkpad T420 with a Brazilian ABNT keyboard layout. This is a rather unique layout where the slash is between the context menu key and the arrow keys.

However, the slash key does not work! How could I make it work?
I have a Lenovo Thinkpad T420 with a Brazilian ABNT keyboard layout. This is a rather unique layout where the slash is between the context menu key and the arrow keys.

However, the slash key does not work! How could I make it work?
You can change the system-wide keyboard configuration (including TTY), by running:
sudo dpkg-reconfigure keyboard-configuration
as described in this SO answer.
To choose the thinkpadz60 layout shown in @brandizzi's answer, select the "IBM ThinkPad Z60m/Z60t/Z61m/Z61t" layout in the list. It should be above the "Generic PC" layout:

EDIT: Also works on Debian
I solved it (in part) by adding the following line in /etc/default/keyboard:
XKBMODEL="thinkpadz60"
Actually, I replaced the line XKBMODEL="" with XKBMODEL="thinkpadz60". Then, I restarted the notebook. (Actually, I believe one would have just to restart X by running restart lightd or by pressing Ctrl+Alt+BackSpace. I suspect that it is even possible to reload this X configuration without restarting it but I have not found how to do it yet.)
Unfortunately, the key still does not work at the text terminals. However, since I use (most of the time) the GNOME Terminal instead of the pure text ones, it is a minor nuisance because it works in the terminal emulator.
(If you do not get it working yet, you can also type slash by pressing AltGr+Q and question mark by typing AltGr+W)
I recently update to Ubuntu 22.04 and the keyboard stop working... The problem was that Gnome back to work on Wayland. I restart the screen session with Gnome on XOrg and the slash "/" key back to work.
Just for improve the information above ;)
Despite it being an old question, maybe my answer would be helpful for future ThinkPad owners using Gnome as a Desktop Environment:
Below is a screenshot of the config panel:

Side note: Maybe you should configure alternative keyboard layouts before (see Use alternative keyboard layouts section): https://help.gnome.org/users/gnome-help/stable/keyboard-layouts.html.en
gsettings set org.gnome.desktop.input-sources show-all-sources true
P.S.: I tried to configure layout by using localectl set-keymap br-thinkpad (fedora doc) but couldn't work at all.
I have the same Lenovo notebook with the BR ABNT keyboard. I was able to fix the slash key for text terminals.
Go to /usr/share/kbd/keymaps/i386/qwerty.
Copy the original map br-abnt2.map.gz to a temp directory.
Decompress the file and rename it to br-thinkpad.map (example, you can use any name you like).
Edit the file br-thinkpad.map with a text editor.
Insert the following line:
keycode 97 = slash question degree
I inserted the line respecting the order of the other keycodes in the file.
Save the file.
Compress the file with gzip br-thinkpad.map.
Copy the compressed file to /usr/share/kbd/keymaps/i386/qwerty.
Test the file with the command loadkeys br-thinkpad.
To make the change permanent edit /etc/sysconfig/keyboard, changing the value of KEYTABLE to br-thinkpad.map.gz.