Even though sony-laptop has code to handle the volume-up/volume-down keys they don't work. Pressing volume-down gets treated as SONYPI_EVENT_PKEY_P1 and volume-up as SONYPI_EVENT_PKEY_P2. This is because volume-down generates event 0x01 with data mask 0x05 and although the sonypi_volumeev table exists to handle this the table sonypi_pkeyev steals the event before it gets handled. Re-ordering the entries in the table type3_events and fixing the bug in sonypi_volumeev (up and down were inverted) makes the volume keys work. See attached patch. The two remaining problems are: 1. the EJECT key is mapped to FN_E 2. the MUTE key (event 5f, 31) is mapped to nothing. (Not to important as it turns the speaker off in hardware).