[Gambas-user] How to Change Keyboard Layout
Fabien Bodard
gambas.fr at gmail.com
Fri Oct 5 06:40:10 CEST 2018
In fact as the switching dépend of the desktop it os not easily portable to
other desktop... it s a quite hard coded thing. You will need to add a
config option to your program to allow final user to adapt it to its
current desktop shortcut.
Le jeu. 4 oct. 2018 23:00, Gianluigi <bagonergi at gmail.com> a écrit :
> With activated gb.desktop component:
>
> Private $bArabian As Boolean
>
> Public Sub Form_Open()
>
> Dim s As String
> Dim hTxt As TextBox
>
> hTxt = New TextBox(Me)
> hTxt.Foreground = Color.Transparent
> hTxt.SetFocus
> Me.Show
> Wait 0.1
> ' This combination works with the Italian layout and not with the
> American one.
> ' You must find a combination suitable for Arabic.
> Desktop.SendKeys("{[Shift_L]6}")
> Wait 0.1
> s = hTxt.Text
> hTxt.Delete
> If s = "&" Then
> $bArabian = True
> Print "Arabian keyboard"
> Else
> $bArabian = False
> Print "American keyboard"
> Endif
> Print $bArabian
>
> End
>
> Public Sub txtArabian_GotFocus()
> ' I don't remember your shortcut to switch keyboard layout, supposing
> Ctrl+K
> If $bArabian = False Then
> Desktop.SendKeys("{[Control_L]K}")
> $bArabian = True
> Endif
>
> End
>
> Public Sub txtAmerican_GotFocus()
> ' I don't remember your shortcut to switch keyboard layout, supposing
> Ctrl+K
> If $bArabian Then
> Desktop.SendKeys("{[Control_L]K}")
> $bArabian = False
> Endif
>
> End
>
> Public Sub Form_KeyPress()
>
> If Key.Code = Key["K"] And If Key.Control Then
> Print "SWITCH KEYBOARD"
> End If
>
> End
>
> Regards
> Gianluigi
>
> Il giorno gio 4 ott 2018 alle ore 21:41 Wael M via User <
> user at lists.gambas-basic.org> ha scritto:
>
>> Thanks Gianluigi and thanks Lee
>> you both put some solutions that seems brilliant but I got confused and
>> couldn't get an appropriate code out of those
>> is my fault I know but don't forget I'm new to Gambas
>> so if you please could send me an example for a forum with two textboxes
>> each one changes the keyboard language when it get focus, I will be
>> profoundly appreciated
>>
>> thanks again for your valuable time
>>
>> --------------------------------------------
>> On Thu, 10/4/18, T Lee Davidson <t.lee.davidson at gmail.com> wrote:
>>
>> Subject: Re: [Gambas-user] How to Change Keyboard Layout
>> To: user at lists.gambas-basic.org
>> Date: Thursday, October 4, 2018, 3:08 PM
>>
>> If each box will use a specific
>> layout, you could use a semaphore.
>>
>> [code]
>> Public $IsEnglishLayout
>> = True
>>
>> Public Sub
>> EnglishTextbox1_GotFocus()
>> If Not
>> $IsEnglishLayout then Destkop.Sendkeys(blah)
>> $IsEnglishLayout = True
>> End
>>
>> Public Sub
>> ArabicTextbox1_GotFocus()
>> If
>> $IsEnglishLayout then Destkop.Sendkeys(blah)
>> $IsEnglishLayout = False
>> End
>> [/code]
>>
>>
>> ___
>> Lee
>>
>>
>> On 10/3/18 5:27 PM, Wael M
>> via User wrote:
>> > Thank you very much
>> Gianluigi for your help, grazie :)
>> > it
>> worked and could detect my language but not the way I
>> want
>> > let me tell you my story :)
>> > I came to linux from windows and I'm
>> trying to translate an app I did with VB to the
>> corresponding codes in Gambas.
>> > I
>> realized that Gambas is not the same as VB because Linux is
>> not the same as windows
>> > Gambas is just
>> using the same names and following the main rules of VB
>> > in my app I had a form that with three
>> textboxes are filled in Arabic and three are filled in
>> English
>> > when I put the cursor in a
>> textbox it detects the keyboard layout and change it to the
>> desired language
>> > I followed the code
>> you gave but I want to put the event of this code to be when
>> textbox got focus
>> > here is the problem,
>> when I put cursor in the desired textbox, it evokes the code
>> and losing the focus the focus again the textbox making it
>> evoking the same code again and so on
>> >
>> so what I really need is to detect the keyboard layout like
>> reading it directly from linux
>> >
>> > again and again thank you very much for
>> your patience and help
>>
>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]----
>>
>>
>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]----
>>
>
> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gambas-basic.org/pipermail/user/attachments/20181005/e0bbb2e7/attachment.html>
More information about the User
mailing list