You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GTK app receive different keyboard codes for different keyboard layouts. For example my keyboard have english and russian layouts and so my russian key "Я" (1745) is at "Z" (122).
I want to use keyboard shortcuts (like Ctrl+Z/Ctrl+C/Ctrl/V and etc) in my GTK-3 app for any possible languages.
gdk_keymap_translate_keyboard_state() can be better then my "GTK_TranslateKeyLayoutEnglish"
func main_event_listener(event *gdk.Event){
eventObject := &gdk.EventKey{event}
key := eventObject.KeyVal()
state := eventObject.State()
key, state = GTK_TranslateKeyLayoutEnglish(key, state)
if state == gdk.GDK_CONTROL_MASK {
if key == gdk.KEY_z {
//Ctrl+Z
}
if key == gdk.KEY_c {
//Ctrl+C
}
if key == gdk.KEY_v {
//Ctrl+V
}
} else {
if key == gdk.KEY_F5 {
//F5
}
if key == gdk.KEY_Delete {
//Delete
}
}
}
func GTK_TranslateKeyLayoutEnglish(key uint, state uint) (uint, uint) {
key2 := key
state2 := state
if state2 > 8192 { //RUSSIAN Ctrl 8196 == English Ctrl 4
state2 -= 8192
}
switch key {
case gdk.KEY_Cyrillic_ya: //RUSSIAN 'я'
key2 = gdk.KEY_z
case gdk.KEY_Cyrillic_ef: //RUSSIAN 'ф'
key2 = gdk.KEY_a
case gdk.KEY_Cyrillic_che: //RUSSIAN 'ч'
key2 = gdk.KEY_x
case gdk.KEY_Cyrillic_es: //RUSSIAN 'с'
key2 = gdk.KEY_c
case gdk.KEY_Cyrillic_em: //RUSSIAN 'м'
key2 = gdk.KEY_v
//etc
}
return key2, state2
}
The text was updated successfully, but these errors were encountered:
GTK app receive different keyboard codes for different keyboard layouts. For example my keyboard have english and russian layouts and so my russian key "Я" (1745) is at "Z" (122).
I want to use keyboard shortcuts (like Ctrl+Z/Ctrl+C/Ctrl/V and etc) in my GTK-3 app for any possible languages.
gdk_keymap_translate_keyboard_state() can be better then my "GTK_TranslateKeyLayoutEnglish"
The text was updated successfully, but these errors were encountered: