Programmatically disable phone keys in Ikon

  • How can I disable the hardware phone keys in an Ikon device?

  • Good morning  and welcome to the Community,

    Which programming language will you be developping in?

    For your information, programmatically disabling the phone keys can be done by simply remapping these keys.

    E.g. the code in VB .NET could look as follows:

    Imports PsionTeklogix.Keyboard

    Private kr As KeyRemapper = Nothing

    kr = New KeyRemapper()
    kr.Add(Keyboard.TranslateToScanCode(Key.PhoneSend), 0, [Function].Skip, 0)
    kr.Add(Keyboard.TranslateToScanCode(Key.PhoneEnd), 0, [Function].Skip, 0)

    I do hope this helps.
    Kind regards,

    Jacques

  • Thanks, just what i was looking for.

    For future reference, this is the equivalent c# version:

     

            public void DisablePhoneKeys()
            {
                var keyRemapper = new KeyRemapper();
                keyRemapper.Add(Keyboard.TranslateToScanCode(Key.PhoneSend), 0, Function.Skip, 0);
                keyRemapper.Add(Keyboard.TranslateToScanCode(Key.PhoneEnd), 0, Function.Skip, 0);
            }

            public void EnablePhoneKeys()
            {
                var keyRemapper = new KeyRemapper();
                keyRemapper.Remove(Keyboard.TranslateToScanCode(Key.PhoneSend), 0);
                keyRemapper.Remove(Keyboard.TranslateToScanCode(Key.PhoneEnd), 0);
            }

  • Hi guys. I tried doing this but I don't see any Key.PhoneEnd or Key.PhoneSend

    I've attached a reference to PsionTeklogixNet (Ver 3.3 from Mobile SDK)

    what am I doing wrong?

    Here's  my code:

     

     

         PsionTeklogix.Keyboard.KeyRemapper keyRemap = new PsionTeklogix.Keyboard.KeyRemapper();

              try {

                   //Disable phone buttons and Windows Button

                   keyRemap.Add(PsionTeklogix.Keyboard.Keyboard.TranslateToScanCode(PsionTeklogix.Keyboard.Key.F3),

                                                 0,

                                                 PsionTeklogix.Keyboard.Function.Skip,

                                                 0);

                   keyRemap.Add(PsionTeklogix.Keyboard.Keyboard.TranslateToScanCode(PsionTeklogix.Keyboard.Key.F4),

                                                0,

                                               PsionTeklogix.Keyboard.Function.Skip,

                                              0);

              }

             catch(Exception) {

                      MessageBox.Show("KeyRemap Error");

            }

     

          PsionTeklogix.Keyboard.Keyboard.ModifierKeyEvent += new PsionTeklogix.Keyboard.ModifierKeyHandler(Keyboard_ModifierKeyEvent);

     

     

    I hope someone can help me..

     

    Best Regards..

     

    Victor

  • Right you are, Victor. The device independent physical key identifiers PhoneSend and PhoneEnd are not to be found within the PsionTeklogix.Keyboard.Key enumeration of our Mobile Devices SDK version 3.3.

    This said, they are defined as follows, in the latest recommended Mobile Devices SDK [1]:

    Keyboard.cs excerpt [2]

        /// <summary>
        /// Device independent physical key identifiers.
        /// </summary>
        public enum Key
        {

           [...]

            /// <summary>Phone talk (send) key </summary> 
            PhoneSend = 131,
            /// <summary>Phone end key </summary>
            PhoneEnd,
            /// <summary>Phone * key </summary>       
            PhoneStar,
            /// <summary>Phone # key </summary>       
            PhonePound,

           [...]

        }

    I do hope this helps.
    Kind regards,

    Jacques

    --

    [1] Version 5.1 as I write this note

    [2] MDSDK v5.1 source can be downloaded here:
         Home » Downloads » Developer (SDK/HDK) » Mobile Devices SDK » MDSDK 5.1 - Source Code

  • Thanks a lot Jacques..

    I'm fairly new to these products.. so I tought I had the newest SDK.. 3.3

    maybe psion should have a naming standard for their files..

    anyhow.. Thanks a lot.. it's working now.. :)

    Regards..

    Victor