Difference between revisions of "IS SCH"

From LFS Manual
Jump to navigationJump to search
(Created page with "== Introduction == The '''S'''ingle '''CH'''aracter packet is used to send individual key presses to LFS. Standard keys (e.g. V and H) should be sent as capital letters, usin...")
 
m
 
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
  
The '''S'''ingle '''CH'''aracter packet is used to send individual key presses to LFS. Standard keys (e.g. V and H) should be sent as capital letters, using the corresponding ASCII values. This does not work with keys such as F keys, arrows, CTRL, etc. For those, you should send an [[IS_MST]] packet with the /press, /shift, /ctrl, or /alt commands.
+
The '''S'''ingle '''CH'''aracter packet is used to send individual key presses to LFS. Standard keys (e.g. V and H) should be sent as capital letters, using the corresponding ASCII values. This does not work with keys such as F keys, arrows, CTRL, etc. For those, you should send an [[IS_MST]] packet with the <code>/press</code>, <code>/shift</code>, <code>/ctrl</code>, or <code>/alt</code> commands.
  
 
Note that some keys seem not to work properly with this packet, for instance H does not toggle chat history, and I does not toggle ignition. On the other hand, V does change the view, and 9 does turn the hazard lights on.
 
Note that some keys seem not to work properly with this packet, for instance H does not toggle chat history, and I does not toggle ignition. On the other hand, V does change the view, and 9 does turn the hazard lights on.
  
<big><pre style="tab-size:4">struct IS_SCH // Single CHaracter
+
{| class="wikitable"
{
+
|+ IS_SCH packet properties
byte Size; // 8
+
|-
byte Type; // ISP_SCH
+
! Type !! Name !! Description
byte ReqI; // 0
+
|-
byte Zero;
+
| byte
 
+
| Size
byte CharB; // key to press
+
| 8
byte Flags; // bit 0: SHIFT / bit 1: CTRL
+
|-
byte Spare2;
+
| byte
byte Spare3;
+
| Type
};</pre></big>
+
| ISP_SCH
 +
|-
 +
| byte
 +
| ReqI
 +
| 0
 +
|-
 +
| byte
 +
| Zero
 +
|
 +
|-
 +
| byte
 +
| CharB
 +
| key to press
 +
|-
 +
| byte
 +
| Flags
 +
| bit 0: SHIFT / bit 1: CTRL
 +
|-
 +
| byte
 +
| Spare2
 +
|
 +
|-
 +
| byte
 +
| Spare3
 +
|
 +
|}
  
 
== Packet Details ==
 
== Packet Details ==
Line 26: Line 51:
 
=== Type ===
 
=== Type ===
  
The packet type from the ISP_ enumeration, always ISP_SCH.
+
The packet type from the [[InSim_enumerations#ISP|ISP_]] enumeration, always ISP_SCH.
  
 
=== ReqI ===
 
=== ReqI ===

Latest revision as of 19:55, 9 February 2026

Introduction

The Single CHaracter packet is used to send individual key presses to LFS. Standard keys (e.g. V and H) should be sent as capital letters, using the corresponding ASCII values. This does not work with keys such as F keys, arrows, CTRL, etc. For those, you should send an IS_MST packet with the /press, /shift, /ctrl, or /alt commands.

Note that some keys seem not to work properly with this packet, for instance H does not toggle chat history, and I does not toggle ignition. On the other hand, V does change the view, and 9 does turn the hazard lights on.

IS_SCH packet properties
Type Name Description
byte Size 8
byte Type ISP_SCH
byte ReqI 0
byte Zero
byte CharB key to press
byte Flags bit 0: SHIFT / bit 1: CTRL
byte Spare2
byte Spare3

Packet Details

Size

The size of the packet, always 8 bytes.

Type

The packet type from the ISP_ enumeration, always ISP_SCH.

ReqI

ReqI is always zero.

CharB

The byte representing the key to press. You can use non-printable characters, such as 13 to send an Enter key press.

Flags

2 bits are used to represent the Shift (bit 0) and Ctrl (bit 1) keys being pressed. For instance, sending "M" with Flags 2 corresponds to pressing Ctrl+M.