</listitem>
</varlistentry>
<varlistentry>
+ <term>--kbd-list</term>
+ <listitem>
+ <para>
+ list all keyboard layout ids used by -k
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term>--version</term>
<listitem>
<para>
RDP_KEYBOARD_LAYOUT* layouts;
layouts = freerdp_keyboard_get_layouts(RDP_KEYBOARD_LAYOUT_TYPE_STANDARD);
+
printf("\nKeyboard Layouts\n");
for (i = 0; layouts[i].code; i++)
+ {
printf("0x%08X\t%s\n", layouts[i].code, layouts[i].name);
- free(layouts);
+ xfree(layouts[i].name);
+ }
+ xfree(layouts);
layouts = freerdp_keyboard_get_layouts(RDP_KEYBOARD_LAYOUT_TYPE_VARIANT);
+
printf("\nKeyboard Layout Variants\n");
for (i = 0; layouts[i].code; i++)
+ {
printf("0x%08X\t%s\n", layouts[i].code, layouts[i].name);
- free(layouts);
+ xfree(layouts[i].name);
+ }
+ xfree(layouts);
layouts = freerdp_keyboard_get_layouts(RDP_KEYBOARD_LAYOUT_TYPE_IME);
+
printf("\nKeyboard Input Method Editors (IMEs)\n");
for (i = 0; layouts[i].code; i++)
+ {
printf("0x%08X\t%s\n", layouts[i].code, layouts[i].name);
- free(layouts);
+ xfree(layouts[i].name);
+ }
+ xfree(layouts);
exit(0);
}
if ((types & RDP_KEYBOARD_LAYOUT_TYPE_STANDARD) != 0)
{
length = sizeof(RDP_KEYBOARD_LAYOUT_TABLE) / sizeof(RDP_KEYBOARD_LAYOUT);
-
layouts = (RDP_KEYBOARD_LAYOUT*) xrealloc(layouts, (num + length + 1) * sizeof(RDP_KEYBOARD_LAYOUT));
for (i = 0; i < length; i++, num++)
{
layouts[num].code = RDP_KEYBOARD_LAYOUT_TABLE[i].code;
- strcpy(layouts[num].name, RDP_KEYBOARD_LAYOUT_TABLE[i].name);
+ layouts[num].name = xstrdup(RDP_KEYBOARD_LAYOUT_TABLE[i].name);
}
}
if ((types & RDP_KEYBOARD_LAYOUT_TYPE_VARIANT) != 0)
for (i = 0; i < length; i++, num++)
{
layouts[num].code = RDP_KEYBOARD_LAYOUT_VARIANT_TABLE[i].code;
- strcpy(layouts[num].name, RDP_KEYBOARD_LAYOUT_VARIANT_TABLE[i].name);
+ layouts[num].name = xstrdup(RDP_KEYBOARD_LAYOUT_VARIANT_TABLE[i].name);
}
}
if ((types & RDP_KEYBOARD_LAYOUT_TYPE_IME) != 0)
for (i = 0; i < length; i++, num++)
{
layouts[num].code = RDP_KEYBOARD_IME_TABLE[i].code;
- strcpy(layouts[num].name, RDP_KEYBOARD_IME_TABLE[i].name);
+ layouts[num].name = xstrdup(RDP_KEYBOARD_IME_TABLE[i].name);
}
}
" --ntlm: force NTLM authentication protocol version (1 or 2)\n"
" --ignore-certificate: ignore verification of logon certificate\n"
" --sec: force protocol security (rdp, tls or nla)\n"
+ " --kbd-list: list all keyboard layout ids used by -k\n"
" --salted-checksum: use salted checksums with Standard RDP encryption\n"
" --version: print version information\n"
"\n", argv[0]);