Sony Vaio VGN-FE21B

Tango-dialog-warning.png

Tango-dialog-warning.png

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)

Tango-mail-mark-junk.png

Tango-mail-mark-junk.png

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

Reason: (Discuss)

Tango-document-new.png

Tango-document-new.png

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)