Sony Vaio VGN-FE21B - ArchWiki

# Sony Vaio VGN-FE21B

This article or section is out of date.

Reason: Last real contributions to this article were in 2006 and 2008. This needs a massive overhaul. (Discuss)

This article or section needs language, wiki syntax or style improvements.

Reason: (Discuss)

This article is a stub.

Notes: please use the first argument of the template to provide more detailed indications. (Discuss)

That one is easy:

1. pacman -S iwlwifi-3945-ucode
2. Add module iwl3945 to rc.conf

## Special keys (Fn and so...) Part 1

I didn't manage to make the Fn key work, but that is what I have done:

- Mute key is hardware driven
- Volume keys:

1. edit .kde/Autostart/keycodes.sh and add:

    xmodmap -e 'keycode 174=F21' # lower volume
    xmodmap -e 'keycode 176=F22' # raise volume
    exit 0

1. Run source .kde/Autostart/keycodes.sh
2. Go to Preferences -> Regional settings -> Add actions
3. Create a group named Vaio keys (or whatever)
4. Add acctions:
   1. volup: dcop action, app: kmix, remote object: mixer0, function: IncreaseVolume, args: 0
   2. voldown: dcop action, app: kmix, remote object: mixer0, function: DecreaseVolume, args: 0
   3. brightup: command, I use ctrl+F5 bind key, command: ~/bin/brightdown.sh
   4. brightdown: command, I use ctrl+F6 bind key, command: ~/bin/brightup.sh

This is the contents of the bright scripts:

brightdown.sh:

    #!/bin/sh
    smartdimmer -d

brightup.sh:

    #!/bin/sh
    smartdimmer -i

### Part 2(About Volume Keys)

The method above works fine if you have only one keyboard layout. But if you use couple languages then keycodes are reseted. What I did to bypass this problem was to set these keys as F20 and F21 modifying keycodes in xkb.

I use "Generic 105-key PC" keyboard as my keyboard model.(You can change it in Control Center--> Regional& Accessibility-->Keyboard Layout).

after that edit corresponding keycode file(for "Generic 105-key PC" it was `/usr/share/X11/xkb/keycodes/digital_vndr/pc`), add key codes to your keyboard section or as I did it to pc_common section. It should look something like this:

<part of file>

       xkb_keycodes "pc_common" {
       // "Function" keys
       <FK20>       = 174; // <--- Volume button key code assigned to FK20
       <FK21>       = 176; //<--- Volume button key code assigned to FK20
       <FK01>      = 9;
       <FK02>      = 15;
       <FK03>      = 23;
       <FK04>      = 31;
       <FK05>      = 39;

</part of file>

after that you need to assign it as F20 and F21 buttons on your keyboard. To do that edit file /usr/share/X11/xkb/symbols/pc (or corresponding file if you use other keyboard model in Settings)

there you gonna find a part where F keys are assigned it should be something like this

<part of file>

           key <FK10> {
           type="CTRL+ALT",
           symbols[Group1]= [ F10, XF86_Switch_VT_10 ]
       };
       key <FK11> {
           type="CTRL+ALT",
           symbols[Group1]= [ F11, XF86_Switch_VT_11 ]
       };
       key <FK12> {
           type="CTRL+ALT",
           symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
       };

</part of file>

All you have to do now is to add our "new" keys here:

<part of file>

       key <FK12> {
           type="CTRL+ALT",
           symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
       };
       key <FK20> {
           type="CTRL+ALT",                                  //<-- for F20 key
           symbols[Group1]= [ F20, XF86_Switch_VT_20 ]
       };
       key <FK21> {
           type="CTRL+ALT",                                  //<-- for F21 key
           symbols[Group1]= [ F21, XF86_Switch_VT_20 ]
       };

</part of file>

That is it - now your volume keys are assigned. But they do not change the volume yet. To do that go to Control Center-->Regional&Accessibility-->Input Actions and add new group(name it as you like). Add new action, set Action Type to "Keyboard Shortcut -> DCOP Call(simple)". In a "Keyboard Shortcut" press the box and press Vol- button on your keyboard. In "Dcop Call Settings" set(case sensetive):

- Remote application: kmix
- Remote object: Mixer0
- Called function: decreaseVolume
- Arguments:0

Then press try. And your volume should go down. Press Apply button

Add the same action for your Vol+ button. except change "decreaseVolume" to "increaseVolume".

That's it now your volume keys shoud work. Hit/Tip: To check keycodes use type "xev" in terminal. Pressing button should give you output with keycode.

Nomail 08:40, 14 June 2008 (EDT)

Category:

- Sony