Life with inteRnet, we are the inteRnet.

where internet makes your life easier © 2007 – 2012

Like Page

Advertisements
Leave a comment »

Books

Radio Interface System Planning for GSM GPRS UMTS – J. Lempiainen (Kluwer, 2002) WW

IN

Case

Leave a comment »

Proxyf

Just unzip and run the u.exe file and enjoy the ultimate fastest proxy.

Click here

Leave a comment »

Tajindong Tour

Leave a comment »

Mobile Video Chat

imiChat, video chat with friends on cell phones!

Welcome the new era of mobile video chat. imiChat® is an instant communication application that connects mobile handsets, and PCs, allowing users to communicate with each other using instant text messages as well as two-way interactive video. Leveraging Mobim Technologies’ state-of-the-art mobile video technologies, imiChat is able to support smooth two-way video over today’s 2.5G GPRS networks.

imiChat is free software!

imiChat is compatible with all current mobile networks world-wide and supports GrameenPhone and WIFI connection.

imiChat is free software, however, users will be charged for logging on mobile phone networks. Under normal circumstances, imi video chat produces 10kb flux every second, audio chat 2kb every second, whereas text produces virtually no flux. We suggest you obtaining the GrameenPhone’s monthly package deal service as a money-saver.
Users will also be charged 0.1 Yuan for sending out an invitation message to other off-line users.

Video demo

Version : imiChat S60 V3 1.05.773 Beta Release Date : 2009-04-21

DOWNLOAD S60V3

For wap download please visit at wap.imichat.comSupported Handsets S60V3
Nokia N96 Nokia 6220c Nokia 6124c Nokia N82 Nokia N95 8GB Nokia 6121c
Nokia 6120c Nokia N77 Nokia 6110n Nokia N93i Nokia N76 Nokia N95
Nokia N93 Nokia N73 Nokia N91 Nokia N75 Nokia N80 Nokia N71
Nokia N92 Nokia N78 Nokia 5320xm Nokia 6210n Nokia N81 8G Nokia 5700xm
Nokia 6290 Nokia 5500 Nokia 3250 Nokia 6650 Nokia N95-3N Nokia N81
Nokia N85 Nokia N79 Nokia N91 8G Nokia E70 Nokia E71 Nokia E90C
Nokia E50 Nokia E51 Nokia E60 Nokia E61i Nokia E61 Nokia E62
Nokia E65 Nokia E66 SGH-i400 SGH-i408 SGH-i450 SGH-i458
SGH-G810 SGH-G818 SGH-i550 SGH-i558 LG Joy KS10

DOWNLOAD S60V2

Nokia N90 Nokia N72 Nokia N70 Nokia 6682 Nokia 6681 Nokia 6680
Nokia 6630

FAQ

Q: How to imiChat with others?
A: Option 1: choose a contact in the address book, and start imiChat.
Option
2: type a phone number and start imiChat.
Option
3: launch imiChat straight.
Note:
the recipient client should also have imiChat installed.

Q: How to meet millions of friends ?
A: After logging onto imiChat, use search function to look for millions of members in various
communities grouped by age, gender, location etc.

Q: How to video chat with a PC? A: Download and install imiChat PC version at www.imichat.com/download. Q: How to turn off or turn on video?
A: After launching imiChat, change ′Video Chat Settings′ in ′Settings′. During chatting, press
number key ′ 1′ to turn on and off video and key ′ 2′ to switch between front and back cameras.

Q: How to enable or disable the night mode?
A: After launching imiChat, press number key ′ 3′ to enable night mode under low light.

26 Comments »

Music

Suraj Hua Madhdam

Leave a comment »

Blackberry Pearl On Linux

Tethering With Blackberry Pearl On Linux

If you are going to use this, you should save this page now, yo your laptop, cause when you are gonna need it, you probably won’t have a connection

This whole setup is sort of screwy, but hey it works !

Tethering will cost you a lot of money unless you have an unlimited data plan. Some phone companies, forbid it unless you ahve a special plan, some other allow it but won’t support it, some just plain disallow it.

I believe tethering should be allowed, but you should use that only as needed when on the road, users who use GB of data on a tether connection annoy me because 1) sooner or later they will be blocked anyway, 2) if too many people do that, phone companies might block tethering unless you buy an Expensive plan !
You are not helping anybody if you do this, be reasonable and enjoy tethering when you really need it, ex: in a crunch on the road.

Introduction

Ok, i spent a LOT of time getting this dammed thing to work, but i did it !
Fisrt let me talk about the few options i tried:

Barry: this project on source forge provides a sybchronization and they started modem support but it does not work yet.
XmBlackberry: This is the project that DOES work, however the site is very ’bare bone’ and almost no documentation exists. On top of that the latest time they made arelease was over a year ago and that did not work. I was able to make it work with the live CVS version, though it was a pain to compile and get going.

I only managed to get tethering to work using BOTH Barry(to recognize the device properly) and XmBlackberry(modem support), so we will install both

I used Ubuntu Feisty Fawn for this doc, though same idea should work on other linux distros.
My device is a Blackberry Pearl (8100)
My Carrier is GrameenPhone.

This works with the USB cable and not Bluetooth, i prefer the usb cable anyhow, it’s faster and less chance to loose/forget my phone if tied to the laptop

Installing XmBlackberry from sources

The main issues i had here are:

XmBlackberry only works with the pearl with the CVS version.
The CVS version of XMBlackBerry will only compile with openmotif2.3 (2.2) won’t work
Debian does not have a packaged version of openmotif2.3 (the libmotif3 package is openmotif2.2)

If you use motif2.2 you will get errors like this:
undefined reference to `XmVaCreatePushButton’

So as a result of all that the first step is to install openmotif2.3 from sources.

Prerequities

If you have never compiled anyhting from sources beofre you will need at least to install those first (compiler)

sudo apt-get install libc6-dev g++ gcc make build-essential

To compile/install all those things i had to install the following packages first (not sure if i really needed ALL of those though)

sudo apt-get install libtool autoconf automake cvs libglib2.0-dev libxml2-dev libssl-dev libopensync0-dev libxt-dev x11proto-print-dev libxmu-dev libxft-dev libfreetype6-dev libXp-dev flex byacc libgd2-xpm-dev

Openmotif would not compile because libfreetype-dev installed files not where openmotif expected them (freetype & freetype2 dir), to compile i add to do this:

not sure if that is a safe thing to do(probably OK), so you might want to revert this after (move back) after compiling openmotif.

cd /usr/include/
sudo mv freetype freetype-back
sudo mv freetype2/freetype/ .

I also had to do this, to get XmBlackberry to run later:

sudo ln -s /usr/X11R6/lib/libXm.so.4 /usr/X11R6/lib/libXm.so.3

Installing OpenMotif 2.3

if you have motif3 you might need to remove it first. Honestly i’m not sure if it’s a good idea, so don’t do this unless you have to.

sudo apt-get remove libmotif3 libmotif-dev motif-clients

Installing motif2.3:

cd ~
wget ftp://ftp.ics.com/openmotif/2.3/2.3.0/openmotif-2.3.0.tar.gz
tar xzvf openmotif-2.3.0.tar.gz
cd openmotif-2.3.0/
./configure

make
sudo make install

Installing XmBlackberry

XmBlackberry needs Xlt installed (from source)

Installing libXlt

cd ~
cvs -d :pserver:anonymous@xlt.cvs.sourceforge.net:/cvsroot/xlt co Xlt
cd Xlt
./CVSMake
./configure –prefix=/usr
make
sudo make install

XmBlackBerry

Get XmBlackberry source code

cd ~
cvs -d:pserver:anonymous@xmblackberry.cvs.sourceforge.net:/cvsroot/xmblackberry co XmBlackBerry

Inside xmBlackberry folder get libusb source code.

cd XmBlackBerry/
cvs -d :pserver:anonymous@libusb.cvs.sourceforge.net:/cvsroot/libusb co libusb

Compile/Install XMBlackberry

./CVSMake
./configure –enable-maintainer-mode –disable-shared
make
sudo make install

Install libusb as it will be needed by Barry

cd libusb
sudo make install

OpenSync

Install openSync (part of XmBlackberry)

cd ..
cd opensync
make
sudo make install

Installing Barry

cd ~
cvs -d:pserver:anonymous@barry.cvs.sourceforge.net:/cvsroot/barry login
cvs -z3 -d:pserver:anonymous@barry.cvs.sourceforge.net:/cvsroot/barry co -P barry
cd barry
sh buildgen.sh
./configure –prefix=/usr
make
sudo make install

Running XmBlackberry


you will notice i run most of the following command with sudo, that is because otherwise it would fail, due i think to USB device permissions on debian, ideally it would probably be best to fix those permissions rather than tun those thing under sudo.

PLUG YOUR BLACKBERRY NOW WITH THE USB CABLE.

There is an issue whereas the module usb_storage takes over the Blacberry device as soon as it is plugged in and thus XmBB can’t use/see it.

We are gonna run Barry’s bcharge, this has two uses here:
1) It will regrab the device from usb_storage
2) It will set the BB charging current to 500ma instead of 100ma, this will make the BB happy (no more warning) and allow it to dialog correctly with XmBB.

Because of a driver issue on the pearl we have to run bcharge twice, sounds odd, but is needed, as you will see on the second call the device will be found.

sudo bcharge
sudo bcharge -o

Now, the device should be found. Example: sudo btool -l

Blackberry devices found:
Device ID: 0x80xxxx. PIN: 241xxxx, Description: RIM 8100 Series Colour GPRS Handheld

you can had Barry to udev, so it automatically runs when the BB is connected.
cp /home/thibautc/barry/udev/*b* /etc/udev/rules.d/
I haven’t tried this yet.

Now we are ready to run XmBlackberry.
sudo XmBlackberry

Once XmBlackBerry opens, click the Options Menu, this should dump something like this on the console:

XmBlackBerry.c:OptionPopupCallback(995) – GPRS modem device /dev/pts/0

If you see that, you are in business ! it found your GRPS modem !

Note “/dev/pts/0”, this is going to be your modem device.
If you have other device it might be another number rather than 0, note this.

Tethering & connecting to GPRS / EDGE

You will want to have XmBlackberry up to be able to use the BB modem, so if not already running, restart it now.

PPP scripts

I found multiple pp scripts online, but none of them worked as-is, by combining some i found something working for me:

You will need to create those two files:

if you don’t use tmobile, you will have to adjust the ’AT+CGDCONT=1,“IP”,”wap.voicestream.com”’ line.
sudo vi /etc/chatscripts/blackberry
ABORT BUSY ABORT ’NO CARRIER’ ABORT VOICE ABORT ’NO DIALTONE’ ABORT ’NO DIAL TONE’ ABORT ’NO ANSWER’ ABORT DELAYED ABORT ERROR
SAY “Initializingn”
’’ ATZ
SAY “ATEn”
OK ’AT+CGDCONT=1,“IP”,”wap.voicestream.com”’
OK ’AT’
OK ’ATDT*99***1#’
SAY “Dialingn”

If XmBlackberry found your device somewhere else that /dev/pts/0 then adjust the file. TMobile use blank user and password, other carriers might want something else, adjust as needed.
sudo vi /etc/ppp/peers/blackberry
debug debug debug
nodetach
/dev/pts/0
115200
connect “/usr/sbin/chat -f /etc/chatscripts/blackberry”
nomultilink
defaultroute
noipdefault
ipcp-restart 7
ipcp-accept-local
ipcp-accept-remote
#need lcp-echo turned off, at least for tmobile, otherwise c0onnectin
# disconnects after few mn of inactivity.
# thanks to ’loon’ for this info
lcp-echo-interval 0
lcp-echo-failure 999
modem
noauth
nocrtscts
noipdefault
novj # refused anyway, no point in trying every time
usepeerdns
user “”
password “”

Once this is setup, you are ready to get connected … Finally !

sudo pppd call blackberry

If all goes well you should get something like this:

sudo pppd call blackberry
Initializing
Dialing
Serial connection established.
using channel 15
Using interface ppp0
Connect: ppp0 <–> /dev/pts/0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x682edbe8> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x10 <asyncmap 0x0> <auth chap MD5>]
…..
sent [PAP AuthReq id=0x1 user=“thibautc-laptop” password=<hidden>]
…..
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
……
local IP address 10.169.13.231
remote IP address 169.254.1.1
primary DNS address 66.94.9.120
secondary DNS address 66.94.25.120
Script /etc/ppp/ip-up started (pid 20529)
Script /etc/ppp/ip-up finished (pid 20529), status = 0x0
……..

Make sure all your other interfaces (wireless/ethernet) are down, and enjoy browsing the web using your BB modem !

Leave a comment »

BB INTERNET SOLUTION

BB INTERNET SOLUTION

Leave a comment »

MAC DOWNLOADS

Download Instructions

READ THIS CAREFULLY BEFORE DOWNLOADING:

These scripts only work with Apple Remote Access (OS 9 & earlier), Internet Connect (OS X) and other programs that use the Apple Connection Control Language. If you use AOL or FreePPP, you need to enter the modem initialisation strings yourself. This file gives instructions on how to do it.

The files are Zip or Stuffit archives some with BinHex (text) encoding. For Stuffit archives, you will need Stuffit Expander to decode and expand them to their normal size.

These are HTTP downloads (the server doesn’t support anonymous FTP), so they may appear as ‘garbage’ text in your browser window, particularly with some older browsers. If that happens, just wait until the page completes downloading, save the completed ‘page’ as a text file on your desktop (using File:Save As… in your browser), then drag’n’drop it onto Expander, or run Expander and open the file.


Modem Scripts

Modified Modem Scripts for Apple Internal Modems (262kB): Ross’s Scripts – Updated Feb 2001 to add extra speed options and reorganise Read Me file (too many people missing the instructions at the bottom).
These scripts overcome problems with 3Com-based ISPs to permit V.90 (over 33.6k) connections, and allow you to limit the connect speed to any V.90 rate from 34.6k to 50k for added reliability. These will work with the PowerBook G3 Series, the B&W G3s, G4s, iMacs and any later Mac with an Apple V.90 modem up to late 2001. Macs from then onwards have a USB internal modem (I have a few scripts for those if anyone needs them, but the recent modem firmware doesn’t seem to have the same problems).
Dramatic speed improvements are unlikely with any recent Mac modems, or any which have been upgraded with Apple Modem Upgrader 2, since the firmware from V2.300 (check with Apple System Profiler) onward is better than the original versions. However, the speed-limiting scripts may still be useful if you get frequent disconnections
Script for D-Link 56k PC Cards (6kB): D-Link 56k Script – based on info for the DMF560TX Ethernet/Modem card, but apparently works with other D-Link cards.


Mobile Phone Scripts

Before using the mobile phone scripts below, check that your airtime provider has enabled data access for your phone – many networks disable it by default. If data access is not enabled, you will always get a ‘no carrier’ result from Remote Access. This also applies to GPRS service – you may have to request GPRS access, or even get a new SIM card to use it.It is possible to use these scripts with Bluetooth or infrared (IrDA) connections, or with some USB cables (but not most Nokia or Sony Ericsson cables, other than Nokia’s CA-42 cable). Motorola’s USB cable works fine on 10.3 or later. There is also a driver for the Prolific chipset that is used in many ‘generic’ USB cables (see below)
Alternatively, you can use a serial cable and a USB-to-serial adapter
(see James Sentman’s site).
Provided the phone has an internal “modem”, the script doesn’t care if the phone is connected using infrared, Bluetooth or a cable.

Warning for GPRS users: if you get connected, but no traffic seems to flow, try turning off TCP header compression (Remote Access:Options:Protocol in OS 9, Preferences:PPP:PPP Options in OS X). Many GPRS networks do not support this feature.Warning for OS X and GPRS: one of OS X’s default settings causes problems with many GPRS networks. If you get disconnections after only a few seconds, turn off “Send PPP echo packets” in System Preferences:Network:PPP:PPP Options. Motorola Phones

Scripts for Motorola GSM phones with internal modems (36kB): Motorola Scripts – Updated Feb. 2002: complete re-write, plus a fix for problems with the T250. These scripts work with all Motorola GSM models. They will not work with any non-GSM phones, as they use GSM-specific commands.Scripts for Motorola GPRS phones (90kB): Motorola GPRS Scripts – Updated May 2004: Add check for use of *99 instead of the APN, various other tweaks and improved ReadMe. These scripts are for Motorola models supporting GPRS for ‘always-on’ Internet access.You can get information on the correct settings for most networks here.Scripts for Motorola 3G (EDGE/UMTS) phones (19kB): Motorola 3G Scripts – First release May 2004. These scripts are for any Motorola models supporting EDGE or UMTS “3G” technologies for ‘always-on’ Internet access.You can get information on the correct settings for most networks here.Scripts for Motorola 3.5G (HSDPA) phones (19kB):Motorola HSDPA Scripts – First release Dec 2006. These scripts are for any Motorola models supporting HSDPA technologies for high-speed ‘cellular broadband’ Internet access.You can get information on the correct settings for most networks here.Script for Motorola iDEN phones (11kB): Motorola iDEN Script – Updated Mar. 2003: Increased port speed and configure for blind dialling, improved ReadMe. This script should work with most iDEN models. Note that, unless you have used the iDEN as a wireless modem with other devices, e.g. a Palm, and you know for sure that data dial-up calls are enabled, you should check with Nextel to make sure that feature is activated.Script for Motorola CDMA phones (4kB): Motorola CDMA Script – First release. This script should work with most Motorola CDMA models.Generic Script for Motorola phones (3kB):

Leave a comment »

Protected: MAC DOWNLOADS

Download Instructions

READ THIS CAREFULLY BEFORE DOWNLOADING:

These scripts only work with Apple Remote Access (OS 9 & earlier), Internet Connect (OS X) and other programs that use the Apple Connection Control Language. If you use AOL or FreePPP, you need to enter the modem initialisation strings yourself. This file gives instructions on how to do it.

The files are Zip or Stuffit archives some with BinHex (text) encoding. For Stuffit archives, you will need Stuffit Expander to decode and expand them to their normal size.

These are HTTP downloads (the server doesn’t support anonymous FTP), so they may appear as ‘garbage’ text in your browser window, particularly with some older browsers. If that happens, just wait until the page completes downloading, save the completed ‘page’ as a text file on your desktop (using File:Save As… in your browser), then drag’n’drop it onto Expander, or run Expander and open the file.


Modem Scripts

Modified Modem Scripts for Apple Internal Modems (262kB): Ross’s Scripts – Updated Feb 2001 to add extra speed options and reorganise Read Me file (too many people missing the instructions at the bottom).
These scripts overcome problems with 3Com-based ISPs to permit V.90 (over 33.6k) connections, and allow you to limit the connect speed to any V.90 rate from 34.6k to 50k for added reliability. These will work with the PowerBook G3 Series, the B&W G3s, G4s, iMacs and any later Mac with an Apple V.90 modem up to late 2001. Macs from then onwards have a USB internal modem (I have a few scripts for those if anyone needs them, but the recent modem firmware doesn’t seem to have the same problems).
Dramatic speed improvements are unlikely with any recent Mac modems, or any which have been upgraded with Apple Modem Upgrader 2, since the firmware from V2.300 (check with Apple System Profiler) onward is better than the original versions. However, the speed-limiting scripts may still be useful if you get frequent disconnections
Script for D-Link 56k PC Cards (6kB): D-Link 56k Script – based on info for the DMF560TX Ethernet/Modem card, but apparently works with other D-Link cards.


Mobile Phone Scripts

Before using the mobile phone scripts below, check that your airtime provider has enabled data access for your phone – many networks disable it by default. If data access is not enabled, you will always get a ‘no carrier’ result from Remote Access. This also applies to GPRS service – you may have to request GPRS access, or even get a new SIM card to use it.It is possible to use these scripts with Bluetooth or infrared (IrDA) connections, or with some USB cables (but not most Nokia or Sony Ericsson cables, other than Nokia’s CA-42 cable). Motorola’s USB cable works fine on 10.3 or later. There is also a driver for the Prolific chipset that is used in many ‘generic’ USB cables (see below)
Alternatively, you can use a serial cable and a USB-to-serial adapter
(see James Sentman’s site).
Provided the phone has an internal “modem”, the script doesn’t care if the phone is connected using infrared, Bluetooth or a cable.

Warning for GPRS users: if you get connected, but no traffic seems to flow, try turning off TCP header compression (Remote Access:Options:Protocol in OS 9, Preferences:PPP:PPP Options in OS X). Many GPRS networks do not support this feature.Warning for OS X and GPRS: one of OS X’s default settings causes problems with many GPRS networks. If you get disconnections after only a few seconds, turn off “Send PPP echo packets” in System Preferences:Network:PPP:PPP Options. Motorola Phones

Scripts for Motorola GSM phones with internal modems (36kB): Motorola Scripts – Updated Feb. 2002: complete re-write, plus a fix for problems with the T250. These scripts work with all Motorola GSM models. They will not work with any non-GSM phones, as they use GSM-specific commands.Scripts for Motorola GPRS phones (90kB): Motorola GPRS Scripts – Updated May 2004: Add check for use of *99 instead of the APN, various other tweaks and improved ReadMe. These scripts are for Motorola models supporting GPRS for ‘always-on’ Internet access.You can get information on the correct settings for most networks here.Scripts for Motorola 3G (EDGE/UMTS) phones (19kB): Motorola 3G Scripts – First release May 2004. These scripts are for any Motorola models supporting EDGE or UMTS “3G” technologies for ‘always-on’ Internet access.You can get information on the correct settings for most networks here.Scripts for Motorola 3.5G (HSDPA) phones (19kB):Motorola HSDPA Scripts – First release Dec 2006. These scripts are for any Motorola models supporting HSDPA technologies for high-speed ‘cellular broadband’ Internet access.You can get information on the correct settings for most networks here.Script for Motorola iDEN phones (11kB): Motorola iDEN Script – Updated Mar. 2003: Increased port speed and configure for blind dialling, improved ReadMe. This script should work with most iDEN models. Note that, unless you have used the iDEN as a wireless modem with other devices, e.g. a Palm, and you know for sure that data dial-up calls are enabled, you should check with Nextel to make sure that feature is activated.Script for Motorola CDMA phones (4kB): Motorola CDMA Script – First release. This script should work with most Motorola CDMA models.Generic Script for Motorola phones (3kB):


Other Useful Files

READ THE DOWNLOAD NOTES AT THE TOP OF THE PAGE CAREFULLY BEFORE DOWNLOADING OS 9 & X US Keyboard layouts with Caps Lock disabled (6kB): U.S. – No CapsLock – If you’re a PowerBook user, you’ll know how easy it is to tap the Caps Lock key accidentally and look up TO FIND YOU’VE BEEN SHOUTING FOR HALF OF THE SENTENCE. This keyboard layout disables the effect of the Caps Lock key so that it is irrelevant – the green LED will come on, but it will have no effect. This goes a bit further than some of the standard keyboard hacks, which often forget to disable option-CapsLock (annoying if you use accented characters, etc.).BE WARNED – this only disables the effect of Caps Lock, it doesn’t disable the key itself. Some software still checks the Caps Lock setting when looking for hotkey combinations – e.g. Norton FileSaver, where key combinations (like Opt-Cmd) can bypass or activate certain functions. If Caps Lock is set, that makes a different combination (like CapsLock-Opt-Cmd) which will have either no effect or a different effect. Took me ages to figure out why FileSaver was ignoring me some of the time… OS 9 & X British Keyboard layout with Caps Lock disabled (6kB): British – No CapsLock – Same as the above, but for the British keyboard layout (shift-3 = £ instead of #).OS 9 & X New Zealand Keyboard layouts (8kB): NZ Keyboards – As a dedicated Kiwi, I was annoyed by having the US flag on my menu bar since I have a US keyboard (no offence to US citizens, but it’s not my homeland). So I created versions of the standard and no-CapsLock US keyboards with an NZ flag instead of Old Glory. OK, this is a bit sad & pathetic, but humour me… Anyway, Apple do the same with their ‘Australian’ keyboard layout – as far as I can see, it’s identical to the US one, with only a cosmetic flag change.OS 9 & X Catalan Keyboard layouts (8kB): Catalan Keyboards – For Catalan users who have the Spanish ISO keyboard but are not so keen on the Spanish flag.OS 9 & X Confederate Flag Keyboard layouts (8kB): Confederate Keyboards – For those from the deep South who prefer a slightly different flag on their menu bar…OS 9 & X French Numeric Keyboard layout (5kB): French Numeric Keyboard – For anyone with the French AZERTY keyboard who is annoyed at having to press Shift to type numbers (spreadsheet users?). This keyboard layout uses the Caps Lock key to swap the case of the upper row of keys – while Caps Lock is on, the top row gives numbers unshifted and the normal characters when Shift is pressed. Thanks to Laurent Casado for suggesting this one.

Leave a comment »